Tag: maven

New Maven安装:mvn -version java.lang.ClassNotFoundException

所以我已经安装了maven,其中包含以下细节: 安装路径: C:\Program Files\Apache Software Foundation\apache-maven-3.0.3 环境变量: JAVA_HOME C:\Progra~1\Java\jdk1.6.0_25 M2_HOME C:\Program Files\Apache Software Foundation\apache-maven-3.0.3 用户变量: M2 %M2_HOME%\bin PATH %JAVA_HOME%\bin;%M2%; 现在,从命令行 C:\>javac -version javac 1.6.0_25 C:\>mvn -version Exception in thread “main” java.lang.NoClassDefFoundError: org/codehaus/plexus/c lassworlds/launcher/Launcher Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.lau ncher.Launcher at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClss(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the […]

使用IntelliJ IDEA运行Maven项目

我是IntelliJ IDEA的新手,我想使用它运行一个简单的Maven Quickstart项目。 我按照所有指示,项目成功完成。 但是当我尝试编译并运行它时,“ Run按钮未激活。 看起来IntelliJ IDEA无法找出主类的位置。 这是项目层次结构的图片。 问题是什么 ? 我该如何解决? 谢谢 !

使用CXF和wsdl2java生成代码时解决冲突

我在使用wsdl2java通过与Maven的cxf-codegen-plugin的一堆WSDL文件生成代码时遇到了一些冲突。 WSDL声明了同一系统的不同API,并且生成的代码有一些重叠(特别是对于模型类)。 外部系统和WSDL来自第三方,因此不受我们控制。 我遇到的第一个问题是由一个WSDL引起的一个结果ObjectFactory类中的命名冲突。 它定义了一个名为Foo的complexType,它包含一个名为Status的元素,它还定义了一个名为FooStatus的元素。 生成代码时,JAXB会抛出一个拟合,因为ObjectFactory将有两个名为createFooStatus(…)工厂方法,并且在运行时期间最终会出现exception。 我试过向-autoNameResolution提供选项-autoNameResolution但没有用。 我看过“两个声明导致ObjectFactory类中的冲突”和“将外部JAXB绑定文件应用于从WSDL导入的模式元素” ,并基于那些我编写的外部绑定文件重命名其中一个工厂方法。 我在绑定文件中使用SCD而不是XPath,如后一个链接所示,因为我和XPath的问题与作者有同样的问题。 这是有效的,但前提是我单独处理WSDL文件并仅将绑定文件应用于导致冲突的WSDL。 Maven配置如下所示: org.apache.cxf cxf-codegen-plugin 3.0.0-milestone1 generate-proxies generate-sources ${basedir}/First.wsdl ${basedir}/bindings.xml ${basedir}/Second.wsdl ${basedir}/Third.wsdl … More wsdlOption declarations … wsdl2java 现在,如果我这样做,我最终会遇到另一个问题,因为来自不同WSDL文件的生成代码使用相同的包结构。 这在实践中意味着在处理后续WSDL文件时会覆盖ObjectFactory类,这意味着在插件执行之后只存在从最后一个WSDL生成的那个。 我知道我可以更改目标包结构,但是从不同的WSDL生成的代码有很多重叠,复制它会感觉很傻。 我也尝试使用-keep wsdl2java选项,但这似乎没有做任何事情(或者至少ObjectFactory类仍然被覆盖)。 我的理解是,对此的解决方案是使用像这样的Maven配置一次性处理所有WSDL(仅显示配置部分,其他所有部分保持不变): ${basedir}/bindings.xml ${basedir} *.wsdl 但是,这会导致com.sun.istack.SAXParseException2 ,说我的SCD表达式与任何架构组件都不匹配(因为架构组件仅存在于其中一个WSDL中)。 如果我修改WSDL文件本身并使用后面的Maven配置而没有绑定文件,我可以得到我想要的结果。 通过这样做,生成的ObjectFactory是在使用第一个Maven配置单独处理WSDL时创建的合并。 但是,我宁愿不这样做,而是想用外部绑定文件来管理它。 我该如何解决这个问题? 我是否可以编写/应用绑定文件,以便在找不到匹配的模式组件时不会引发exception? 或者我可以单独处理WSDL而不是覆盖ObjectFactory类吗? 或者,我是否只需要将其从不同的WSDL生成到不同的包或者自己编辑WSDL文件? 万一它很重要,我当前的绑定文件看起来像这样(WSDL位于我的项目内与绑定文件在同一目录中):

有没有办法触发Maven Appengine Devserver自动刷新静态文件?

最新版本的maven插件已经启用了每5秒更新代码,这是一个很大的改进。 但除非我配置错误,否则它似乎没有获取静态文件更改,例如正在进行的Javascript连接到appengine代码。 有没有办法改变这种行为,或者我只需要等待新版本?

ejb与客户端工件 – 运行时依赖?

我们公司在两个工件中创建了一个ejb。 impl工件包含实现,客户端工件包含所有接口。 这意味着impl工件对客户端工件具有编译依赖性。 现在,在运行时,客户端工件需要impl工件 – 否则容器无法注入所需的对象。 这意味着耳朵需要包含所有客户端工件的impl工件。 这是否意味着客户端工件应该对impl工件具有runtime依赖性? 或者是否应该避免这些“循环”依赖,即使一个方向是compile而另一个是runtime ?

如何创建Spring 5组件索引?

Spring Framework 5显然包含对“组件索引”的支持,它存在于META-INF / spring.components中,可用于避免类路径扫描的需要,因此,我认为,可以改善webapps的启动时间。 看到: “spring有什么新东西”提到 制定支持的jira问题 spring.components格式的一些示例似乎来自实现它的更改 如何为我计划升级到Spring 5的现有Web应用程序创建这样的组件索引? (理想情况下,它会在我想象的Maven构建时自动生成,但任何其他可行的方法至少会给我一个工作的起点)

如何使用Maven Failsafe插件运行JUnit 5集成测试?

当我运行命令mvn clean failsafe:integration-test ,Mail Failsafe插件将找不到我的JUnit 5集成测试,尽管它可以找到文件。 我有junit-jupiter-api和junit-jupiter-engine作为测试依赖项: 5.0.1 org.junit.jupiter junit-jupiter-api ${junit.jupiter.version} test org.junit.jupiter junit-jupiter-engine ${junit.jupiter.version} test 我的集成测试正确命名(遵循**/*IT.java , **/IT*.java或默认包含在Failsafe中的**/*ITCase.java ,默认情况下由Surefire排除)。 有什么方法可以使用Failsafe进行JUnit 5测试吗?

Maven – 无法下载fastxml.jackson

在maven pom.xml中: com.fasterxml.jackson.core jackson-core 2.5.0 bundle com.fasterxml.jackson.core jackson-databind 2.5.0 bundle com.fasterxml.jackson.core jackson-annotations 2.5.0 bundle maven无法下载这3个库,但可以成功下载所有其他库。 我在不同网络环境下的2台计算机上试过这个,结果是一样的。 eclipse中的错误消息: Missing artifact com.fasterxml.jackson.core:jackson-core:bundle:2.5.0 关于如何检查原因的任何建议?

我在windows中输入了mvn命令,但命令行返回了一个java提示

我的机器上安装了maven 3.3.1和java 1.7,Windows 8.1。 MAVEN_HOME=C:\Program Files\Apache\apache-maven-3.3.1 JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN_HOME%\bin; 我试过访问mvn命令行,在C:\ Users \ {myusername}>下,它运行良好: C:\Users\{myusername}>java -version java version “1.7.0_75” Java(TM) SE Runtime Environment (build 1.7.0_75-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode) C:\Users\{myusername}>mvn -version Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T13:10:2 7-07:00) Maven home: C:\Program Files\Apache\apache-maven-3.3.1\bin\.. Java version: 1.7.0_75, vendor: Oracle Corporation Java home: C:\Program Files\Java\jdk1.7.0_75\jre […]

在maven模块之间共享静态资源

我有一个带有父pom项目的Maven项目和3个maven-module项目。 其中2个模块是编译为WAR文件的Java-EE Web应用程序。 其中1个模块包含常用的JAVA代码,这些代码在其他2个项目之间共享。 共享JAVA代码很简单。 我的问题是如何共享常见的静态资源,如JavaScript,CSS和图像文件,而不是在每个Web模块中重复它们? 我还想这样做,以便我可以继续从Eclipse运行Web应用程序,并对Eclipse运行的服务器自动提供的静态文件进行更改。