Questions tagged «java»

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

5
为什么package-info.java有用?
当我在Java项目上运行CheckStyle时,它说的Missing package-info.java file.是某些类,但不是全部。我真的无法弄清楚为什么此消息仅在某些时候出现。此外,我的项目在没有package-info.java的情况下运行得很好。 package-info.java是做什么的?我的Java项目真的需要它吗?
96 java  maven  checkstyle 

19
org.hibernate.hql.internal.ast.QuerySyntaxException:表未映射
我有示例Web应用程序Hibernate 4.3.5 + Derby数据库10.10.1.1+具有IDE NetBeans 8.0Beta的Glassfish4.0。 我有下一个例外: Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: CUSTOMERV is not mapped at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:189) at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:109) at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:95) at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:331) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3633) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3522) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:706) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:562) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:299) at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:247) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:278) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:206) ... 72 more 来自index.xhtml的表格 <h:panelGrid id="panel1" columns="2" border="1" cellpadding="5" cellspacing="1"> <f:facet name="header"> …

10
注册表项“ ...”的值为“ 1.7”,但必须为“ 1.6”。Java 1.7已安装,并且注册表指向它
我的开发团队最近被迫转到一个远程开发环境,在该环境中我们无法完全访问服务器。在进行转换之前,我们拥有一个可以在Java 1.7 x64和JRE 7上正常运行的JAR。当我们移到新服务器上时,JAR运行良好,但是随后一位服务器管理员将Java“更新”到了旧版本。版本并卸载了我们正在使用的版本。不要问我为什么,我不知道。我重新安装了Java 1.7,并与JRE一起卸载了1.6。 运行时发生以下问题,没有构建错误: Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.7', but '1.6' is required. Error: could not find java.dll Error: could not find Java SE Runtime Environment. 我已经在笔记本电脑上运行了相同的JAR,没有任何问题。服务器和笔记本电脑在各自的%HOME%变量和系统PATH中均具有JDK 1.7和JRE 7。我什至重新安装了JRE 6,稍后将其放在系统环境PATH变量中,结果相同。 我还把注册表改回了1.6,结果如下:我查找了它,它似乎是由于安装了多个Java(导致我的原始问题): Exception in thread "main" java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 51.0 当我浏览各种论坛时,如果能获得大家的宝贵见解,我将不胜感激。同样,这也在我们正在使用的另一台服务器上发生。谢谢! 更新:将JAR重新编译为1.6或1.7并匹配JDK并没有运气。另外,为什么在世界上,较新版本的Java会破坏较旧的编译版本?

3
Spring:如何将HttpServletRequest注入到请求范围的bean中?
我正在尝试在Spring中建立一个请求范围的bean。 我已经成功设置好了,因此每个请求创建一次bean。现在,它需要访问HttpServletRequest对象。 由于该bean是每个请求创建一次的,所以我认为容器可以轻松地将请求对象注入到我的bean中。我怎样才能做到这一点 ?
95 java  spring  servlets 

9
如何在不同的时间按不同的参数对列表进行排序
我有一个Person具有多个属性的类,例如: public class Person { private int id; private String name, address; // Many more properties. } 很多Person对象都存储在中ArrayList<Person>。我想通过多个排序参数对列表进行排序,但有时会有所不同。例如,我可能想一次按name升序然后再address降序排序,而另一次只想按id降序排序。 而且我不想创建自己的排序方法(即,我想使用Collections.sort(personList, someComparator)。)实现此目的的最优雅的解决方案是什么?
95 java  sorting 


7
python是否与Java Class.forName()等效?
我需要使用字符串参数并在Python中创建以该字符串命名的类的对象。在Java中,我会使用Class.forName().newInstance()。Python中是否有等效的东西? 感谢您的答复。回答那些想知道我在做什么的人:我想使用命令行参数作为类名,并实例化它。我实际上是在Jython编程并实例化Java类,因此是问题的Java实质。 getattr()效果很好。非常感谢。

20
将枚举中的所有名称作为String []获取
将枚举元素的名称获取为Strings 数组的最简单和/或最短的方法是什么? 我的意思是,例如,如果我有以下枚举: public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; public static String[] names() { // ... } } 该names()方法将返回数组{ "NEW", "RUNNABLE", "BLOCKED", "WAITING", "TIMED_WAITING", "TERMINATED" }。
95 java  arrays  enums 

6
为什么Eclipse Java Package Explorer在某些类上显示问号?
在Eclipse Helios Java Package Explorer中,我看到Java类图标在'J'的右边显示一个小问号,类似于[J?]。此图标显示在项目中一个包中的每个类上,但是我无法在文档中找到对此的解释。 在某些时候,我希望它们消失并被小的橙色矩形取代。(我也不确定它们的含义,但不必担心它们的含义。)我想这个问题指向一个更大的问题,这些图标中的任何一个是否在某个地方定义在一起?
95 java  eclipse  helios 


7
具有动态测试数量的JUnit测试
在我们的项目中,我有几个JUnit测试,例如从目录中获取每个文件并对其进行测试。如果我在中实现了一种testEveryFileInDirectory方法,则TestCase显示为仅一个可能失败或成功的测试。但是我对每个文件的结果都很感兴趣。如何编写一个TestCase/ TestSuite,使每个文件显示为单独的测试,例如在Eclipse的图形TestRunner中?(为每个文件编写显式测试方法不是一种选择。) 还将问题ParameterizedTest与Eclipse Testrunner中的名称进行比较。

3
OSGi,Java模块化和拼图
因此,截至昨天早上,我对OSGi到底是什么一无所知。OSGi只是一个流行语,我不断看到它反复出现,因此我终于拨出一些时间来仔细研究它。 实际上,它看起来很酷,因此,我想(从记录开始)说我在任何方面都不是反OSGi的,这也不是“打击OSGi”的问题。 归根结底,似乎OSGi实质上已经解决了Java Modularity上的JSR 277,该文件认识到JAR文件规范存在缺陷,在某些特殊情况下可能导致名称空间解析和类加载问题。OSGi还做很多其他很酷的事情,但是据我所知,这是它最大的吸引力(或其中之一)。 对我来说-作为一个相当新的Java EE开发人员(现在是几年),我们真是令人难以置信,我们现在是2011年,目前生活在Java 7时代,而这些类加载问题仍然存在。尤其是在企业环境中,其中一台应用程序服务器上可能有数百个JAR,其中许多依赖于彼此的不同版本,并且全部同时运行(或多或少)。 我的问题: 就像我对OSGi一样感兴趣,并且我想开始学习它,以了解它在我的项目中可能/在什么地方有用,所以我只是没有时间坐下来学习这么大的东西,至少现在。 那么,出现这些问题时,非OSGi开发人员该怎么办?当前存在哪些Java(Oracle / Sun / JCP)解决方案?为什么从J7切割拼图?社区对Jigsaw明年在J8中实施的信心如何?即使它不是Java平台的一部分,也可以为您的项目获取Jigsaw吗? 我想我想问的是恐慌,阴谋和面部手掌的结合。现在,我终于了解了OSGi是什么,我只是不“了解”像Jigsaw这样的东西花了20多年的时间才能实现,然后如何从发行版中解决这个问题。这似乎很基本。 而且,作为开发人员,对于OSGi,我也对自己的解决方案感到好奇。 另外,请注意:我知道这不是一个“ 纯粹的编程 ”类型的问题,但是在你们中的一些人鼻子变形之前,我想声明(再次记录),我故意将这个问题放在上面。所以。这是因为我对同胞SOers表示最大的敬意,我正在寻找我每天都潜伏在这里的一些“ IT之神”的体系结构级别的答案。 但是,对于绝对坚持 SO问题带有某些代码段的那些人: int x = 9; (感谢任何可以使用此OSGi / Jigsaw / classloader / namespace / JAR地狱东西的人!)


7
线程之间共享静态变量吗?
我的高级Java课堂上有关线程的老师说了一些我不确定的东西。 他指出,以下代码不一定会更新ready变量。据他介绍,这两个线程不一定共享静态变量,特别是在每个线程(主线程与ReaderThread)在其自己的处理器上运行并且因此不共享相同的寄存器/缓存/等和一个CPU的情况下。不会更新其他。 从本质上讲,他说有可能ready在主线程中进行更新,而不是在中进行更新ReaderThread,因此ReaderThread将无限循环。 他还声称该程序可以打印0或打印42。我了解如何42打印,但不是0。他提到将number变量设置为默认值时就是这种情况。 我认为也许不能保证在线程之间更新静态变量,但是这对Java来说很奇怪。使ready挥发物能纠正这个问题吗? 他显示了以下代码: public class NoVisibility { private static boolean ready; private static int number; private static class ReaderThread extends Thread { public void run() { while (!ready) Thread.yield(); System.out.println(number); } } public static void main(String[] args) { new ReaderThread().start(); number = 42; ready = true; } …


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.