草庐IT

created_by

全部标签

java - Spring Boot 2.1.5 Java 11 模块,组装 JAR : Could not create modular JAR file. 时出错 JDK jar 工具退出 1 -> [帮助 1]

运行命令-mvnclean-Dmaven.test.skip=truepackage-X我收到以下错误。[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-jar-plugin:3.1.2:jar(default-jar)onprojectmy-module-one:ErrorassemblingJAR:CouldnotcreatemodularJARfile.TheJDKjartoolexitedwith1->[Help1]org.apache.maven.lifecycle.LifecycleExecutionExcep

java - 验证 Jpa 实体 : In service or by lifecycle listeners

问题是将Jpa实体的业务验证逻辑放在哪里更好(或者换句话说:您更喜欢在哪里)。两个想法是:在EntityListener中,在保存或更新之前将验证实体在提供对jpa持久化方法的访问的服务中。两者各有利弊。当使用方法2时,它更容易测试,因为您可以模拟jpa提供程序并测试验证逻辑。另一方面,对于方法1,验证将与@NotNull等验证同时发生。我很想知道你们如何解决项目中的验证问题,哪种方法更好。谢谢。 最佳答案 这是我遵循的一般经验法则:Whenusingbeanvalidation,specifyrulesthatdonotrequi

java - 在 HQL order by 子句中处理 SQL 注入(inject)

在HibernateHQLorderby子句中是否有一种简单的方法来处理SQL注入(inject)。命名参数显然不适用于它。编辑:请随意发布您处理此问题的方法。我想看看其他人的解决方案并从中学习。感谢任何建议和解决方案。 最佳答案 您可以使用HibernatecriteriaAPI而不是HQL。标准API检查订单标准是否引用有效属性。如果你尝试这样的事情:publicvoidtestInjection(){StringorderBy="this_.typedesc,type";Criteriacrit=this.getSession

java - Spring MVC : CharacterEncodingFilter; why only set response encoding by force?

我正在查看SpringMVC提供的CharacterEncodingFilter。我想知道为什么只有在请求编码被强制为给定编码时才能设置响应编码?如果在接受header字段中未指定任何内容,为什么不能设置默认响应编码?或者如果请求中没有编码?代码:@OverrideprotectedvoiddoFilterInternal(HttpServletRequestrequest,HttpServletResponseresponse,FilterChainfilterChain)throwsServletException,IOException{if(this.encoding!=nul

Java 垃圾收集器 : top object classes promoted (by size)?

请告诉我在每次年轻GC事件之后确定提升到老年代的年轻代内存组成的最佳方法是什么?理想情况下,我想知道负责的类名,比如每个“年轻一代->老一代”提升block中80%的堆;例子:我有600M的younggen,每个tenure提升6M;我想知道这个6M是由哪些对象组成的。谢谢。 最佳答案 没有简单的方法可以做到这一点,但是,我最近一直在分析大型java应用程序的内存性能,并且可以分享一些经验。以下是我如何找到哪些对象被提升到老一代:首先,您需要确定“旧/永久”空间中有哪些对象。这基本上就是标准的Java堆分析。为此,我推荐jmap。它

java - JPA OneToMany映射异常: Field XXX cannot declare that it is mapped by another field

在我的项目中,我在下面报告了类,它们具有双向关系映射。当我尝试通过JPA读取DataProviderImpl类型的对象时,出现以下异常:org.apache.openjpa.persistence.ArgumentException:Field"persistence.entity.DataProviderImpl.methods"cannotdeclarethatitismappedbyanotherfield.Itsmappingstrategy(org.apache.openjpa.jdbc.meta.strats.HandlerCollectionTableFieldStrat

java - 接缝问题 : Could not set field value by reflection

我的Seam代码有问题,我似乎无法弄清楚我做错了什么。它正在做我的头:)这是堆栈跟踪的摘录:Causedby:java.lang.IllegalArgumentException:Cannotsetjava.lang.Longfieldcom.oobjects.sso.manager.home.PresenceHome.customerIdtojava.lang.String我正在尝试将我的URL上的参数集传递到我的一个bean中。为此,我在pages.xml中进行了以下设置:我的bean是这样开始的:@Name("presenceHome")@Scope(ScopeType.CONV

java - JPA 和 toplink create-table 如果它们尚不存在?

看起来jpa是让我问了很多问题的东西。添加了这个我的JPA应用程序总是在运行时创建表,这会在表已经存在的情况下导致异常。我希望JPA检查表是否已经存在,如果不存在则创建它们,但是我找不到执行此操作的上述属性的值。因此,如果我只是将其关闭,是否有办法在某个时候手动告诉JPA创建所有表?更新这里是我得到的异常InternalException:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table'tags'alreadyexistsErrorCode:1050Call:CREATETABLEtags(IDBIGINT

Java:从现有表生成 CREATE TABLE 代码

有没有办法从Derby数据库中的现有表生成CREATETABLE代码?或者收集必要表信息的简单方法? 最佳答案 您可以尝试使用dblook将ApacheDerby数据库表转储到sql文件中的工具。 关于Java:从现有表生成CREATETABLE代码,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4907820/

java - 卡夫卡 : No message seen on console consumer after message sent by Java Producer

我是Kafka的新手。我在我的本地机器上创建了一个java生产者,并在网络上的另一台机器上设置了一个Kafka代理,比如M2(我可以ping、SSH、连接到这台机器)。在Eclipse控制台的生产者端,我收到“消息已发送”。但是当我检查机器M2上的控制台消费者时,我看不到这些消息。我的java生产者代码是:importorg.apache.kafka.clients.producer.KafkaProducer;importorg.apache.kafka.clients.producer.ProducerConfig;importorg.apache.kafka.clients.pr