Tag: maven

使用托盘将java maven项目部署到ec2?

我想知道我将如何设置它。 我有一个普通的java / tomcat / mysql应用程序,我想部署到EC2。 我想使用托盘配置盒子,配置它,并在那里部署我的战争。 我希望我可以通过maven插件做到这一点? 我想我的另一个选择是创建一个lein项目并使用相对路径部署战争,但我希望maven插件…

如何配置依赖于ejb jar的war并结合创建ear文件

我是Maven的新手并且也在学习它。 我在eclipse中有两个项目,一个是包含UI东西的零售产品,另一个项目是ejb项目零售服务。 我为这两个项目编写了单独的pom文件,并能够生成war和jar文件。 我要做的是。 a)我必须在war文件中配置jar文件,因为jar文件包含webappliction所需的ejb内容 b)创建war文件后,我必须创建ear文件,该文件将包含war文件。 我怎样才能做到这一点。 我在这里提供了两个pom.xmls。 4.0.0 RetailProducts RetailProducts 0.0.1-SNAPSHOT war RetailProducts com.sun.faces jsf-api 2.1.7 com.sun.faces jsf-impl 2.1.7 javax.servlet jstl 1.2 javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.1 com.sun.el el-ri 1.0 JavaServerFaces org.apache.maven.plugins maven-compiler-plugin 2.3.1 1.6 1.6 org.apache.maven.plugins maven-war-plugin 2.1.1 <!– section added to pick up the WEB-INF/web.xml inside WebContent –> WebContent 4.0.0 RetailService […]

Log4j2无法使用Sprint Boot找到日志记录实现

我试图在弹簧启动时使用log4j2时遇到此错误。 ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console… 我已经遵循了这个指南: http : //docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html#howto-configure-log4j-for-logging – 并且还添加了来自https://logging.apache.org/log4j/2.x/maven-artifacts.html的两个log4j2依赖项 我的依赖:树看起来像这样: [INFO] — maven-dependency-plugin:2.10:tree (default-cli) @ musikkjulekalender — [INFO] no.saiboten:musikkjulekalender:war:1.0-SNAPSHOT [INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.4.0.RELEASE:compile [INFO] | +- org.hibernate:hibernate-validator:jar:5.2.4.Final:compile [INFO] | | +- javax.validation:validation-api:jar:1.1.0.Final:compile [INFO] | | +- […]

Force Maven仅使用第一级依赖项

我有一个Maven Java项目。 在编译项目时,我不希望通过一系列子依赖项偶然满足我的项目依赖项。 在构建最终战争时,当maven必须检查所有使用的依赖项并为战争添加必要的lib时,这是可以的,但是在编译代码时我想确保只使用直接依赖项。 为什么? 假设我有两个依赖项: com.package module-1 com.package module-2 对于我们的项目模块-1和模块-2提供完全不同的目的,但在模块-2的依赖树中的某处,使用模块-1。 我删除了module-1依赖项,但maven继续构建我的项目而没有编译错误,因为它从module-2子依赖项中解析了module-1。 这种变化没有被注意到。 一段时间后我们决定删除module-2,因为我们不需要它。 很奇怪,但我们不能再使用从模块1导入的编译类,并且没有连接到模块2逻辑。 这是一个简单的案例,但在大项目中,这可能会造成相当大的依赖性。

如何从命令行激活maven配置文件(到构建子系统)

我有一个Maven项目https://github.com/paulvi/MavenMultiModule1 用root pom.xml作为 MavenModule1 MavenModule2 p1 MavenModule1 p2 MavenModule2 我希望能够单独构建子系统, 例如mvn package -P p1和mvn package -P p2 两个配置文件都可见,但无法使用-P开关激活 mvn help:all-profiles -P p1 与其他项目合作 这里缺少什么来激活配置文件或什么是更好的方法来构建子系统? 我已阅读如何在依赖模块中激活Maven配置文件?

Maven可以重新签署依赖关系吗?

我正在使用maven-jarsigner-plugin来签署我的阴影超级jar。 我确实需要在自己的jar中分发一些依赖项,并希望从Maven仓库获取这些jar,清除它们的任何现有签名,并使用我自己的证书签名。 有没有Maven插件可以做到这一点,或者我会涉及一些Ant插件hackery?

是否建议为Maven项目分离Scala和Java源文件?

我一直在研究一个完全由Java组成的Maven项目,最近开始将Scala代码混合到其中。 我很惊讶Scala提供的出色表现力,scala-maven-plugin的易用性,特别是Java和Scala之间令人难以置信的互操作性。 但是,我遇到了一个不便; 根据Maven的惯例,Java的源代码进入src/main/java ,而Scala进入src/main/scala 。 我发现它非常麻烦,因为我必须经常来回浏览Java和Scala源文件,每次我必须遍历包目录的深层次结构(我经常关闭选项卡以防止编辑器混乱)。 所以问题是 :是否建议维护单独的目录src/main/java和src/main/scala ? 如果是这样,为什么? 为了增加更多背景知识,我一直在研究Web应用程序框架Wicket,它的惯例是将HTML文件与相应的Java文件放在一起。 如果我们保持目录分离,HTML文件自然也是分开的(我不认为将Scala文件和相应的HTML文件放在不同的目录中是有意义的)。 然后就是“为什么我找不到Foo.html?哦,我正在寻找错误的目录。” 源文件本身很容易通过检查扩展来区分人和机器。 我配置了pom.xml来处理在src/main/java放在一起的Java和Scala,并且它可以工作( 编译和运行 )。 另一方面,分离目录会带来在Java和Scala中定义冲突类的风险,这是一个粗心的错误。 好吧,如果它不仅包含Java,而且还包含Scala,我不想命名目录java 。 但这是我能用来分离目录的唯一一点。 (编辑:我提出了一个解决方法 – 解释;让我们认为java代表Java虚拟机 。这样,如果我们决定使用JNI,那么让src/main/c不矛盾,因为C没有在JVM上运行。) 哦,还有一点; 我的项目不是一个开源项目; 开发便利性比努力遵守惯例更受欢迎。 这个问题的灵感来自于这个答案 。

Maven错误:(重复)java.security.InvalidAlgorithmParameterException:trustAnchors参数必须为非空

不得不再问一次。 有人认为这是一个重复的问题 ,已经回答并从列表中删除。 我正在使用maven(mvn)批处理命令与windows(不是m2e与eclipse)运行干净安装或解决依赖关系。 有时,当更改pom.xml时,有必要从我们的nexus服务器下载工件。 这对我来说已经很久了。 但是现在连接到nexus服务器(https,服务器使用公司拥有的证书)失败了“ java.security.InvalidAlgorithmParameterException:trustAnchors参数必须是非空的 ”我知道,我更改了Java版本。 但我很确定我维护cacerts密钥库的方式与之前版本相同。 (在租用时我比较了两个cacerts中的指纹;它们是相同的)。 运行命令“ mvn -s -Djavax.net.debug = all -Djava.net.ssl.trustStore =”C:/Programme/Java/jre1.8.0_102/lib/security/cacerts“-Djavax.net.ssl .trustStorePassword = changeit dependency:resolve “,ssl-trace说: keyStore is : keyStore type is : jks keyStore provider is : init keystore init keymanager of type SunX509 trustStore is: No File Available, using empty keystore. trustStore type is : […]

Jersey:com.sun.jersey.spi.inject.Errors $ ErrorMessagesException

我使用jersey(1.8),maven和hibernate时遇到了问题。 我收到此错误(“完整”日志) INFO: Scanning for root resource and provider classes in the packages: de.tum.fml.idp.backend.rest Dez 04, 2013 2:29:40 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses INFO: Root resource classes found: class de.tum.fml.idp.backend.rest.PlayerWebService class de.tum.fml.idp.backend.rest.RestSample Dez 04, 2013 2:29:40 PM com.sun.jersey.api.core.ScanningResourceConfig init INFO: No provider classes found. Dez 04, 2013 2:29:41 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version ‘Jersey: […]

在Netbeans中运行/调试Maven JavaSE应用程序

我有一个JavaSE多模块应用程序,我想在调试模式下构建和运行。 然后,一旦应用程序运行(在我的本地计算机上),我希望能够附加到该进程。 我们使用的是Maven,IDE是Netbeans。 我已经找到了这个信息: 您可以调试NetBeans中的任何Maven目标转到/Project Properties/Actions/ ,选择您要调试的目标,在最后一个选项Set Properties选择Add ,然后选择Debug Maven build 。 但是,我不知道要为Execute Goals输入什么以使其在Debug模式下运行。 我可以选择Run – > Clean and Build Maven Project ,看看我的项目是在调试模式下构建的(即[debug] execute contextualize)。 我在这里找到了一个答案,说明了8000本地机器的默认端口。 那么如何在该端口上运行应用程序,以便我可以附加到它?