我已经使用Maven而不是RAD的内置工具转换了要构建和部署的应用程序。 它大部分都很顺利,但最后一个“问题”是应用程序需要一个“父级/应用程序”的类加载器策略。 我想自动执行此操作,因为目前,当我使用Maven的WAS插件时 ,它似乎完全卸载并重新安装应用程序,因此每次代码更改并重新部署应用程序时,我都必须通过管理控制台。 如果我可以在部署的EAR中内置类加载器设置,那么工作会更快。 据我所知,类加载器配置由RAD管理的文件“deployment.xml”控制,该文件位于我的EAR项目的“META-INF / ibmconfig”文件夹中。 我猜我可以在我的EAR中包含这个目录结构,当它部署到WebSphere时它会正常工作,但我更关心这个文件的内容。 它看起来像这样: … 应用程序中的所有模块都有ID,例如EJBModuleDeployment_1460348645719 ,我猜这些是在应用程序最初通过RAD发布到WAS时创建的。 如果我将新的Maven化项目提供给新开发人员,他们是否能够使用此deployment.xml文件,或者是否存在特定于通常由RAD管理的特定WAS实例的部分文件? 此外,如果我稍后向应用程序添加更多模块,我将如何使用Maven生成新的模块ID? 我可以只EJBModuleDeployment_123一个ID,比如EJBModuleDeployment_123还是应该由RAD / WAS管理呢? 我也想知道我是否可以写一个Jython脚本来做这个并以某种方式将它与Maven集成,但我不确定这是否有用或者是否有必要。
我想使用包含在依赖jar中的TestNG套件文件来执行集成测试。 这里将讨论设置pom.xml的详细信息 这是我目前拥有的pom文件。 问题在于我需要定义套件文件的部分: 4.0.0 test test-runner 1.0.0-SNAPSHOT ${test.library.groupId} ${test.library.artifactId} ${test.library.version} ${test.library.groupId} ${test.library.artifactId} ${test.library.version} tests org.apache.maven.plugins maven-failsafe-plugin 2.18 integration-test verify ${test.suite}.xml <!– << ${test.library.groupId}:${test.library.artifactId} 可以通过为Jenkins作业中的参数提供值来执行测试: -Dtest.library.groupId=com.example.test -Dtest.library.artifactId=example -Dtest.library.version=2.0.1 -Dtest.suite=smoke 如果套件文件在本地可用,这一切都可以正常工作,但我想使它只能在jar中使用套件文件(与测试类相同)。 没有拆包。 所以问题是:如何定义套件文件的位置(包含在依赖项中)? 这是有问题的部分: [whatComesHere?]${test.suite}.xml 如何在测试jar中包含的套件文件中指出failsafe / surefire? 或者这是不可能的,我只需要为了能够运行特定的套件文件而解压缩jar?
我刚刚使用JUnit 4.11实现了一个JUnit测试用例: https://github.com/junit-team/junit/blob/master/doc/ReleaseNotes4.11.md#example-1 我使用创建一个maven项目 4.0.0 com.yyt example 0.0.1-SNAPSHOT junit junit 4.11 test 而这个测试用例: import java.util.Arrays; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class Example { @Parameters(name = “{index}: fib({0})={1}”) public static Iterable data() { return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 }, […]
我正在使用JBoss AS 7.1.1.Final“Brontes”并在@Stateless -Bean中遇到长时间运行的方法调用,该调用在5分钟后被取消: [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout 搜索这个问题我找到了一些答案Jboss 7.1 ejb 2.1自定义事务超时配置和wiki JBoss-AS7参考指南或JBoss Wiki 。 答案似乎很简单:用@TransactionTimeout注释方法但是 :这个类在我的类路径中不可用! 我有一个带有EAR结构的Maven项目, ejb模块具有以下相关的依赖关系,我在几个使用EJB3的项目中使用它们: org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec (已提供) javax.enterprise:cdi-api (已提供) org.hibernate.javax.persistence:hibernate-jpa-2.0-api (已提供) org.hibernate:hibernate-validator (提供) 缺少哪种依赖?
我正在使用maven2。 我安装了tomcat7。 我想配置插件以使用已安装的tomcat7。 有人可以指向这样做的链接。
我有一些我在项目的src / test / java文件夹中用作测试的类。 当我使用标准的maven编译插件运行maven时。 这些项目被编译成.class文件,并包含在打包编译代码的jar中。 我为自己创建了这些测试,以便在运行maven和构建我的版本之前在eclipse中运行。 它们只是完整性测试,不应包含在构建中。 我宁愿不把它们放在一个单独的项目中,因为对我来说,它们在这里是有道理的。 我怎么能告诉maven我不希望它编译/包含该目录中的文件? 我相信maven编译器插件生成jar如下: maven-compiler-plugin 1.6 1.6
我写了一个小程序,它应该简单地用Java进行文本转换。 我的class级看起来像这样: import com.sun.speech.freetts.Voice; import com.sun.speech.freetts.VoiceManager; public class TalkResource { private static final String VOICENAME_kevin = “kevin16”; private final String text; // string to speech public TalkResource(String text) { this.text = text; } public void speak() { Voice voice; VoiceManager voiceManager = VoiceManager.getInstance(); voice = voiceManager.getVoice(VOICENAME_kevin); voice.allocate(); String newText = “example”; voice.speak(newText); } } 我很确定语法(和东西)是正确的,但我的voice总是null […]
我正在尝试在eclipse中调试Maven jetty项目。 我正在用“mvn clean jetty:run”盯着docker。 这是我正在使用的完整bat文件(我在Windows上)。 set MAVEN_OPTS=”-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n” mvn clean jetty:run 我在pom文件中使用jetty-maven-plugin。 bat文件正常工作并启动jetty而没有错误。 在Eclipse中,我创建了一个新的调试配置,选择了“远程Java应用程序”,我使用4000作为主机的端口和localhost。 当我尝试运行此调试配置时,我总是收到此错误: “Failed to connect to remote VM. Connection refused. Connection refused: connect” 有谁知道我怎么解决这个问题? 我检查了这个答案,但没有帮助。
我有一个项目,它有一个模式A和B,都在同一个命名空间内。 两个导入模式C也使用相同的命名空间。 如何为A和B生成JAXB类以分离包,同时将生成的C中的JAXB类重用到commons包中? 我已经知道我应该使用剧集并使用为模式C生成的剧集作为模式A和B的单独执行的绑定文件。问题是我不知道如何引用这个生成的剧集文件。 这是一个例子: org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.12.3 generate-sources-C generate com.mymodel.commons ${project.build.directory}/generated-sources/xjc-commons src/main/resources/xsd/mymodel/c.xsd generate-sources-A generate com.mymodel.a src/main/resources/xsd/mymodel/a.xsd generate-sources-B generate com.mymodel.b src/main/resources/xsd/mymodel/b.xsd 这会导致在下面创建一个剧集文件: target/generated-sources/xjc-commons/META-INF/sun-jaxb.episode 如何在A和B的执行中引用此剧集/绑定文件? 使用Episodes只提到如何从其他jar依赖项中引用一个剧集文件(或者我只是不能正确理解它,这更有可能)。 我已经看到一个较旧的答案建议将它作为参数-b传递给XJC,但这似乎对我没有任何作用。 我仍然最终生成了三次与C相同的类。
我想建立一个组件,然后签名。 我的问题是,jarsigner不是汇编,只是独立的jar文件。 你能告诉我这是什么问题吗? 在使用Ant多年后,Maven对我来说似乎是“神奇的”..我无法看到插件合作的方式并将信息传递给对方。 执行mvn install ,我得到两个jar文件,一个叫做example-1.0.0-SNAPSHOT.jar ,这个是签名的,一个名为example-1.0.0-jar-with-dependencies.jar ,这个没有签名。 我不需要独奏,只需要组装,但签名。 这是我的pom.xml: org.apache.maven.plugins maven-jarsigner-plugin 1.2 sign sign ${project.basedir}\keystore\mykeystore myalias … … maven-assembly-plugin make-my-assembly package single com.example.FooBar true jar-with-dependencies