Questions tagged «java»

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

14
连接Java-MySql:不允许公钥检索
我尝试使用连接器8.0.11将MySql数据库与Java连接。一切似乎都还可以,但是我有一个例外: 线程“主”中的异常java.sql.SQLNonTransientConnectionException:不允许公共密钥检索 堆栈跟踪: Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:108) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:438) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:146) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:119) at ConnectionManager.getConnection(ConnectionManager.java:28) at Main.main(Main.java:8) 连接器管理器: public class ConnectionManager { public static final String serverTimeZone = "UTC"; …

6
使用Gradle时如何排除传递依赖的所有实例?
我的gradle项目使用该application插件构建了一个jar文件。作为运行时传递依赖项的一部分,我最后引入org.slf4j:slf4j-log4j12。(在至少5或6个其他可传递依赖项中被称为子传递依赖项-该项目正在使用spring和hadoop,因此除了厨房水槽之外的所有东西都被拉进来了……不用等待...那里也有:) )。 我想slf4j-log4j12从我的内置jar中全局排除该jar。所以我尝试了这个: configurations { runtime.exclude group: "org.slf4j", name: "slf4j-log4j12" } 但是,这似乎排除了所有 org.slf4j工件,包括slf4j-api。在调试模式下运行时,我看到诸如以下的行: org.slf4j#slf4j-api is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime). org.slf4j#slf4j-simple is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime). org.slf4j#slf4j-log4j12 is excluded from org.apache.hadoop:hadoop-common:2.2.0(runtime). 我不想查找每个slf4j-log4j12传递依赖项的来源,然后compile foo { exclude slf4j... }在我的代码dependencies块中包含单独的语句。 更新: 我也尝试过这样: configurations { runtime.exclude name: "slf4j-log4j12" } 最终排除了构建中的所有内容!好像我指定了group: "*"。 更新2: 我为此使用Gradle版本1.10。
104 java  gradle 


2
有效最终与最终-不同的行为
到目前为止,我认为有效的final和final或多或少是等效的,并且JLS将在实际行为上将它们视为相同或相似的内容。然后我发现了这个人为的场景: final int a = 97; System.out.println(true ? a : 'c'); // outputs a // versus int a = 97; System.out.println(true ? a : 'c'); // outputs 97 显然,JLS在这两者之间起了重要的作用,我不确定为什么。 我读了其他主题 最终和有效最终之间的区别 有效的最终变量与最终变量 变量“有效最终”是什么意思? 但它们没有详细说明。毕竟,从更广泛的意义上讲,它们似乎是等效的。但是深入研究,它们显然有所不同。 是什么导致此行为,任何人都可以提供一些解释此问题的JLS定义吗? 编辑:我发现了另一个相关的方案: final String a = "a"; System.out.println(a + "b" == "ab"); // outputs true // …

8
使用ArrayList的迭代器时出现ArrayIndexOutOfBoundsException
现在,我有一个包含以下代码的程序: while (arrayList.iterator().hasNext()) { //value is equal to a String value if( arrayList.iterator().next().equals(value)) { // do something } } 就遍历ArrayList而言,我这样做是否正确? 我得到的错误是: java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.get(Unknown Source) at main1.endElement(main1.java:244) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at …

14
如何在Java中找到两个日期之间的差值的持续时间?
我有两个DateTime对象,需要找到它们之间的差值的持续时间, 我有以下代码,但不确定如何继续执行以获得预期的结果,如下所示: 例 11/03/14 09:30:58 11/03/14 09:33:43 elapsed time is 02 minutes and 45 seconds ----------------------------------------------------- 11/03/14 09:30:58 11/03/15 09:30:58 elapsed time is a day ----------------------------------------------------- 11/03/14 09:30:58 11/03/16 09:30:58 elapsed time is two days ----------------------------------------------------- 11/03/14 09:30:58 11/03/16 09:35:58 elapsed time is two days and 05 mintues 码 String …

7
如何断言Iterable包含具有特定属性的元素?
假设我要使用此签名对方法进行单元测试: List<MyItem> getMyItems(); 假设MyItem是一种Pojo,它具有许多属性"name",可通过访问其中一个属性getName()。 我只想验证的是List<MyItem>或Iterable包含两个MyItem实例,它们的"name"属性值为"foo"和"bar"。如果其他属性不匹配,那么我真的不在乎此测试的目的。如果名称匹配,则表示测试成功。 如果可能,我希望它成为一线客。这是我想做的一些“伪语法”。 assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"}); Hamcrest会适合这种事情吗?如果是这样,上面的伪语法的hamcrest版本到底是什么?

5
用jsonpath计数成员?
使用JsonPath是否可以计算成员数? 使用Spring MVC Test我正在测试生成的控制器 {"foo": "oof", "bar": "rab"} 与 standaloneSetup(new FooController(fooService)).build() .perform(get("/something").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk()) .andExpect(jsonPath("$.foo").value("oof")) .andExpect(jsonPath("$.bar").value("rab")); 我想确保生成的json中没有其他成员。希望通过使用jsonPath计数它们。可能吗?也欢迎其他解决方案。

4
如何从XML字符串中加载org.w3c.dom.Document?
我在字符串中有一个完整的XML文档,想要一个Document对象。Google会产生各种垃圾。什么是最简单的解决方案?(在Java 1.5中) 解决方案感谢Matt McMinn,我决定完成此实现。对我来说,它具有适当级别的输入灵活性和异常粒度。(很高兴知道错误是来自格式错误的XML- SAXException还是来自错误的IO- IOException。) public static org.w3c.dom.Document loadXMLFrom(String xml) throws org.xml.sax.SAXException, java.io.IOException { return loadXMLFrom(new java.io.ByteArrayInputStream(xml.getBytes())); } public static org.w3c.dom.Document loadXMLFrom(java.io.InputStream is) throws org.xml.sax.SAXException, java.io.IOException { javax.xml.parsers.DocumentBuilderFactory factory = javax.xml.parsers.DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); javax.xml.parsers.DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder(); } catch (javax.xml.parsers.ParserConfigurationException ex) { } org.w3c.dom.Document doc …
103 java  xml  document  w3c 

7
在Java EE 6中制作Java Web应用程序要学什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我的目标是制作Web应用程序! 我读完了“ Headfirst-Java”和“ Headfirst-Servlets和JSP”这两本书。 因为这个主题(Web应用程序)是如此之大和复杂,所以我想问下我应该学习什么。当我阅读诸如Java EE,EJB,JSF,JPA,Glassfish之类的流行语时,我会感到过度紧张,但我不会放弃。 谁能告诉我我应该如何继续学习?我应该拿这样的书吗: 吗:从GlassFish 3开始Java EE 6平台:从新手到专业,还是我应该做一些在线教程? 谢谢!

13
Windows XP上的Java最大内存
我一直能够为在32位Windows XP(Java 1.4、1.5和1.6)上运行的Java SE分配1400 MB的内存。 java -Xmx1400m ... 今天,我在使用Java 1.5_16和1.6.0_07的新Windows XP计算机上尝试了相同的选项,并收到错误消息: Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine. 通过反复试验,似乎1200兆字节是我可以在此计算机上分配的最大内存。 有什么想法为什么一台机器允许1400,而另一台只能允许1200? 编辑:机器具有4GB的RAM,Windows可以识别约3.5GB。
103 java  windows  memory 




5
何时在JPA中使用EntityManager.find()与EntityManager.getReference()
我遇到了一种情况(我认为这很奇怪,但可能很正常),在这种情况下,我使用EntityManager.getReference(LObj.getClass(),LObj.getId())获取数据库实体,然后将返回的对象传递给保留在另一个表中。 所以基本上流程是这样的: TFacade类{ createT(FObj,AObj){ T TObj =新的T(); TObj.setF(FObj); TObj.setA(AObj); ... EntityManager.persist(TObj); ... L LObj = A.getL(); FObj.setL(LObj); FFacade.editF(FObj); } } @ TransactionAttributeType.REQUIRES_NEW FFacade类{ editF(FObj){ L LObj = FObj.getL(); LObj = EntityManager.getReference(LObj.getClass(),LObj.getId()); ... EntityManager.merge(FObj); ... FLHFacade.create(FObj,LObj); } } @ TransactionAttributeType.REQUIRED FLHFacade类{ createFLH(FObj,LObj){ FLH FLHObj =新的FLH(); FLHObj.setF(FObj); FLHObj.setL(LObj); .... EntityManager.persist(FLHObj); ... } …

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.