Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

4
将String转换为等效的Enum值
我可以使用Java 将转换为String中的等效值吗Enumeration? 我当然可以用一个大的if-else声明来做到这一点,但是如果可能的话,我想避免这样做。 鉴于此文档: http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html 我不太希望没有ifs或case语句就可以做到这一点。
100 java  enums 

12
如何在Jackson中禁用fail_on_empty_beans?
使用杰克逊2.1,如何禁用fail_on_empty beans错误消息似乎要我禁用的消息? 我以为这只是世界上最简单的事情,但是该死了,而且太晚了,我还没有找到一个简单的教程或任何特别明显的东西api。SerializationFactory?他们为什么要使它如此直观,然后使错误消息看起来如此简单? 虽然我做喜欢的错误讯息,我的意思是,它比NPE更好。 我假设有一种使用注释的方法-但是我根本不希望将它们用于我正在做的简单工作!
100 java  jackson 

2
如何验证一个非模拟对象的方法被调用?
似乎嘲笑仅验证是否调用了嘲笑对象的方法,并且嘲笑对象始终具有类似 doReturn().when(mock object) 但是我可以创建一个模拟对象并定义doReturn().when(mock object) 然后验证另一个对象的方法是否被调用吗? 这是我想做的事情:我定义了一个模拟环境,无论发生什么情况都返回一个响应。但是然后我想验证在不同情况下调用anotherObj的不同方法。 怎么做? public class BaseClass { private Environment mockEnvironment; @Test public void testcase () { setMockitoEnvironment(); response = foo(mockEnvironment, argument1); verify(anotherObj).codePath1(...); response = foo(mockEnvironment, argument2); verify(anotherObj).codePath2(...); } } //this method successfully return a response with any input //because I do not care how response …

30
为什么Maven的表现这么差?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 互联网上有很多关于Maven不好的话题。几年来,我一直在使用Maven的某些功能,我认为最重要的好处是依赖管理。 Maven文档还不够用,但是通常当我需要完成某件事时,我先弄清楚它然后再起作用(例如,当我实现对jar的签名时)。我不认为Maven很棒,但是它确实解决了一些问题,没有这些问题将是真正的痛苦。 那么,为什么Maven的表现如此差劲,我将来会遇到Maven哪些问题?也许还有我不知道的更好的选择?(例如,我从未详细研究过常春藤。) 注意:这不是尝试引起参数。这是清除FUD的尝试。


8
尚未实现org.postgresql.jdbc.PgConnection.createClob()方法
我该如何解决此错误: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161] at org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.useContextualLobCreation(LobCreatorBuilderImpl.java:113) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl.makeLobCreatorBuilder(LobCreatorBuilderImpl.java:54) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl.<init>(JdbcEnvironmentImpl.java:271) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:114) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) [hibernate-core-5.2.14.Final.jar:5.2.14.Final] at …
99 java  spring-boot 

11
如何使用Ant复制目录
我曾经copydir复制过一个目录树,但是已经过时了。我的目录包含一些子目录,其中一些包含文件,另一些包含更多子目录。 如何复制整棵树?
99 java  ant 

2
启动jboss服务器时出错
我刚刚完成了操作系统的重新安装,并且像往常一样安装并测试了我使用的标准工具,现在当我尝试从eclipse启动Jboss 5时,出现了前所未有的错误: 3:53:10,693 ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File] at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:395) at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:153) at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106) at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80) at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:282) at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:103) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241) at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70) at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) …
99 java  eclipse  jboss  jboss5.x 

18
Java嵌入式数据库比较[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我打算开发一个小型(Java)应用程序来管理我的财务。我相信我需要使用嵌入式数据库,但是我没有关于此问题的经验。我试图查看一些可用的产品,但是我无法确定哪种产品更适合我。H2,HSQLDB,Derby和Berkeley DB似乎是不错的选择,但我仍然看不到它们之间的比较。感谢您的比较,并帮助我决定使用哪个。 我打算将Hibernate用于我的应用程序(除非您建议使用DBMS提供的API),但我也希望能够使用SQL浏览工具(修改架构和更改数据)轻松地编辑数据库。 谢谢。


11
除了减少混乱之外,还有其他清理Java中未使用的导入的原因吗?
是否有充分的理由避免使用Java中未使用的import语句?据我了解,它们在编译器中,所以大量未使用的导入不会对编译后的代码产生任何影响。只是为了减少混乱并避免命名冲突吗? (我问是因为Eclipse发出了有关未使用导入的警告,这在我开发代码时有点烦人,因为在确定完成类设计之前,我不想删除导入。)

1
如何在Ubuntu中重启tomcat 6
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 如何使用默认安装从命令行在Ubuntu上重新启动并启动Tomcat 6?
99 java  tomcat  ubuntu 

5
JVM是否阻止尾部调用优化?
我在以下问题上看到了这句话:构建Web服务时应使用哪种良好的功能语言? 除自递归功能外,Scala特别不​​支持尾部调用消除,这限制了您可以执行的组合类型(这是JVM的基本限制)。 这是真的?如果是这样,那么创建此基本限制的JVM是什么?

5
如何为编写的每个程序创建用于Android开发的自己的库?
我是一名Delphi程序员,多年来编写了数百种类和例程,可在我编写的每个Delphi程序中使用。 该库称为dlib,可通过将文件夹放在我的库路径中并使用Delphi单元的uses部分中的单元之一来在每个Delphi程序中使用。 作为Java和Android开发的新手,我想知道如何以类似的方式进行操作。 所以我的问题是,我如何编写自己的类,将它们放在某个全局文件夹中,并在我编写的每个Android程序中使用这些类和例程? 我知道这是一个基本问题,我可能可以通过搜索Google并在Eclipse中进行尝试来找出,但是如果有人可以让我走上正确的道路,我知道我会节省很多时间。 谢谢。

7
如何可靠地猜测MacRoman,CP1252,Latin1,UTF-8和ASCII之间的编码
在工作中,似乎没有一周没有编码相关的混乱,灾难或灾难。问题通常来自程序员,他们认为他们无需指定编码就可以可靠地处理“文本”文件。但是你不能。 因此,已决定从此以后禁止文件以*.txt或结尾的文件名*.text。这种想法是,这些扩展误导了随意的程序员对编码的沉闷自满,这会导致处理不当。根本没有扩展将是更好的选择,因为至少您知道自己不知道拥有什么。 但是,我们不会走那么远。相反,您将期望使用以编码结尾的文件名。因此,对于文本文件,例如,这些会是这样README.ascii,README.latin1,README.utf8,等。 对于需要特定扩展名的文件,如果可以在文件本身内部指定编码,例如在Perl或Python中,则应这样做。对于Java源之类的文件,其中文件内部没有这样的功能,您可以将编码放在扩展名之前,例如SomeClass-utf8.java。 对于输出,强烈建议使用 UTF-8 。 但是作为输入,我们需要弄清楚如何处理代码库中名为的数千个文件*.txt。我们想重命名所有这些以适应我们的新标准。但是我们不可能全神贯注。因此,我们需要一个实际起作用的库或程序。 这些格式有ASCII,ISO-8859-1,UTF-8,Microsoft CP1252或Apple MacRoman。尽管我们知道我们可以判断某些东西是否为ASCII,并且知道有某种东西可能是UTF-8还是一个不错的选择,但我们对8位编码感到困惑。因为我们在大多数台式机为Mac的混合Unix环境(Solaris,Linux,Darwin)中运行,所以我们有很多烦人的MacRoman文件。这些尤其是一个问题。 一段时间以来,我一直在寻找一种以编程方式确定 ASCII码 ISO-8859-1 CP1252 麦克罗曼 UTF-8 文件在其中,我还没有找到可以可靠地区分这三种不同的8位编码的程序或库。我们可能仅拥有一千多个MacRoman文件,因此我们使用的任何字符集检测器都必须能够将它们嗅出。我看过的东西都无法解决这个问题。我对ICU字符集检测器库寄予厚望,但它不能处理MacRoman。我也研究过模块,它们在Perl和Python中都可以做同样的事情,但是一遍又一遍地是同一回事:不支持检测MacRoman。 因此,我要寻找的是一个现有的库或程序,该库或程序可以可靠地确定文件所用的五种编码中的哪一种(最好是更多)。特别是它必须区分我引用的三种3位编码,尤其是MacRoman。文件是超过99%的英语文本;还有其他几种语言,但不是很多。 如果是库代码,则我们的语言偏好是按Perl,C,Java或Python的顺序排列。如果它只是一个程序,那么我们并不在乎它的语言是什么,只要它是完整的源代码,在Unix上运行并且完全不受限制即可。 还有其他人遇到过随机编码成千上万个旧文本文件的问题吗?如果是这样,您是如何尝试解决它的?您的成功程度如何?这是我的问题中最重要的方面,但是我也很感兴趣您是否鼓励程序员使用文件中的实际编码来命名(或重命名)他们的文件,这将有助于我们将来避免此问题。有没有人曾经尝试过在制度基础上强制执行,如果成功,那么成功与否,为什么? 是的,我完全理解,考虑到问题的性质,为什么不能保证给出确切的答案。对于小文件,尤其是这种情况,因为您没有足够的数据继续运行。幸运的是,我们的文件很少。除了随机README文件外,大多数文件的大小在50k到250k之间,许多文件更大。大小超过K的任何内容都将保证使用英语。 问题领域是生物医学文本挖掘,因此我们有时会处理大量的超大型语料库,例如PubMedCentral的所有Open Access存储库。一个相当大的文件是BioThesaurus 6.0,容量为5.7 GB。该文件特别令人讨厌,因为它几乎都是UTF-8。但是,我相信有些numbskull会以一些8位编码插入其中的几行,即Microsoft CP1252。您需要花费相当长的时间才能踏上那个旅程。:(

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.