Questions tagged «java»

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

6
我应该使用@EJB还是@Inject
我发现了这个问题:@Inject和@EJB有什么区别,但是我没有变得更明智。我以前没有做过Java EE,也没有依赖注入的经验,所以我不明白应该使用什么? @EJB是旧的注入方式吗?使用@Inject时使用此批注时,EJB容器是否通过新的CDI框架进行注入?有区别吗?如果是这种情况,我应该使用@Inject而不是@EJB吗?
148 java  jakarta-ee  ejb  cdi 

4
龙目岛如何运作?
我今天遇见了龙目岛。 我很想知道它是如何工作的。 Java极客文章提供了一些线索,但对我来说还不是很清楚: Java 6删除了apt,并使javac能够管理注释,从而简化了流程以获得更简单的单步计算。这是龙目岛采取的道路。 也许在Java 6中,编译过程将是:javac-> apt-> lombok apt进程->读取类文件并使用ASM添加set / get方法? 您能告诉我有关该机制的更多细节吗?
148 java  annotations  lombok 

29
没有命名为EntityManager的持久性提供程序
我在目录下persistence.xml使用相同的名字。然后,我用以下代码调用它:TopLinkMETA-INF EntityManagerFactory emfdb = Persistence.createEntityManagerFactory("agisdb"); 但是,我收到以下错误消息: 2009-07-21 09:22:41,018 [main]错误-名为agisdb的EntityManager没有持久性提供程序 javax.persistence.PersistenceException:名为ag​​isdb的EntityManager的持久性提供程序 在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89) 在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) 这是persistence.xml: <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> <persistence-unit name="agisdb"> <class>com.agis.livedb.domain.AddressEntity</class> <class>com.agis.livedb.domain.TrafficCameraEntity</class> <class>com.agis.livedb.domain.TrafficPhotoEntity</class> <class>com.agis.livedb.domain.TrafficReportEntity</class> <properties> <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/agisdb"/> <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="toplink.jdbc.user" value="root"/> <property name="toplink.jdbc.password" value="password"/> </properties> </persistence-unit> </persistence> 它应该在类路径中。但是,我得到了上面的错误。
148 java  jpa  persistence  toplink 



5
如何在JDBC中使用try-with-resources?
我有一种使用JDBC从数据库中获取用户的方法: public List<User> getUser(int userId) { String sql = "SELECT id, name FROM users WHERE id = ?"; List<User> users = new ArrayList<User>(); try { Connection con = DriverManager.getConnection(myConnectionURL); PreparedStatement ps = con.prepareStatement(sql); ps.setInt(1, userId); ResultSet rs = ps.executeQuery(); while(rs.next()) { users.add(new User(rs.getInt("id"), rs.getString("name"))); } rs.close(); ps.close(); con.close(); } catch …



10
如何在Netbeans中自动缩进?
在eclipse中,您可以单击任意行上的Ctrl+ I,它会根据您在设置中选择的缩进方案自动缩进一行或一组行。 我真的在Netbeans中缺少此功能。有任何等效功能吗? 我所知道的Alt+ Shift+ F,但它不够好。我想缩进一组线,而不是全部文件。



16
与具有公共静态final字段的类相比,Java枚举有什么优势?
我对C#非常熟悉,但是开始在Java中工作更多。我希望了解到Java中的枚举基本上与C#中的枚举等效,但显然并非如此。最初,我很高兴得知Java枚举可以包含多条数据,这似乎非常有利(http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)。但是,从那时起,我发现了很多缺少的功能,这些功能在C#中都是微不足道的,例如能够轻松地将枚举元素分配给某个值,从而无需花费大量精力即可将整数转换为枚举的功能(即转换整数值相匹配的Java枚举)。 所以我的问题是:与具有一堆公共静态final字段的类相比,Java枚举对Java枚举有什么好处吗?还是只是提供更紧凑的语法? 编辑:让我更清楚。与具有一堆相同类型的公共static final字段的类相比,Java枚举有什么好处?例如,在第一个链接的行星示例中,枚举相对于具有这些公共常量的类的优势是什么: public static final Planet MERCURY = new Planet(3.303e+23, 2.4397e6); public static final Planet VENUS = new Planet(4.869e+24, 6.0518e6); public static final Planet EARTH = new Planet(5.976e+24, 6.37814e6); public static final Planet MARS = new Planet(6.421e+23, 3.3972e6); public static final Planet JUPITER = new Planet(1.9e+27, 7.1492e7); public …
147 java  enums 


12
IntelliJ IDEA 13设置为1.7仍使用Java 1.5
尽管在所有项目设置(包括中的File -> Project Structure -> Project :: Project SDK)中都指定了JDK 1.7 ,但是IntelliJ 13当尝试编译某些使用Diamond运算符的简单Java 7代码时,仍会产生以下错误: java: diamond operator is not supported in -source 1.5 (use -source 7 or higher to enable diamond operator) 配置中是否还有其他-source 7应启用预期选项的地方?

9
使用Gradle创建可运行的JAR
到目前为止,我已经通过Eclipse的“导出...”功能创建了可运行的JAR文件,但是现在我切换到IntelliJ IDEA和Gradle进行构建自动化。 这里有一些文章建议使用“应用程序”插件,但这并不能完全导致我期望的结果(只是JAR,没有启动脚本或类似的东西)。 如何通过Eclipse的“导出...”对话框获得相同的结果?
147 java  jar  gradle 

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.