Tag: pom.xml

在Maven2中,构建WAR和EAR以在单个POM中包含该WAR的最简单方法是什么?

情况非常简单。 我有一个Java webapp,我正在转换为使用Maven构建。 目前,应用程序使用Ant构建到单个WAR文件中,然后使用非常简单的application.xml将其捆绑到EAR中。 maven-war-plugin和maven-ear-plugin对我来说都很简单,而且看起来他们让我把上述视为两个截然不同的项目,将WAR项目作为EAR项目的依赖项。 这似乎有点不方便,特别是因为WAR项目的配置文件设置将针对每个环境进行更改,这似乎会强制我在每次尝试构建EAR时复制该构建调整。 所有这些都说:是否有一种简单的方法来构建WAR并将其打包到这个简单易用的EAR中? 我想避免将它们作为两个单独的项目进行维护,但同样也不愿意使用程序集来实现这一目标。

Maven错误:模块的Maven项目配置不可用

当我尝试编译代码时,我不断收到此错误。 我的目录中有pom.xml文件,但我不确定那里是否有错误。 我发现互联网上只有一个关于此的链接,这不是我的情况: 模块需要Maven项目配置 错误:Maven资源编译器:模块“更新程序”所需的Maven项目配置不可用。 仅当从IDE启动外部构建时,才支持编译Maven项目。 这是我的pom文件的内容: 4.0.0 com.nothing.updater Updater 1.0-SNAPSHOT <!—-> <!—-> <!–com.nothing.toolbox–> <!–Toolbox–> <!–1.1–> <!—-> <!—-> 我将衷心感谢您的帮助。 谢谢!

类路径引用的存档不存在

我的日食是Indigo Java classic。 我有一个java项目,它有mockito-all作为依赖项。 pom.xml中: org.mockito mockito-all 1.8.5 test 运行mvn clean install ,一切正常。 然后我做了mvn eclipse:eclipse来解决Eclipse中的所有依赖项。 当我尝试在eclipse中运行Junit时,它不会运行并给我这个错误: ‘Launching YourTest’ has encountered a problem. The archive: /home/shengjie/.m2/repository/org/mockito/mockito-all/1.9.5.jar which is referenced by the classpath, does not exist. 我的项目pom.xml声称它取决于mockito-all 1.8.5,我不确定1.9.5引用的来源。 有任何想法吗? == ==编辑 $ mvn dependency:tree | grep mockito [INFO] +- org.mockito:mockito-all:jar:1.8.5:test [INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test [INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test [INFO] […]

如何获得完全解析的pom文件模型?

如何获得完全解析的pom文件模型? 这基本上是我如何编程构建pom文件的有效模型的改述? 我正在构建一个maven插件,它针对一组模块执行一些validation规则。 这些模块的pom文件可用,但在执行插件时它们不是反应器的一部分。 我可以使用此方法读取pom文件并获取相应的Model对象(为简单起见,删除了exception处理): private Model pomToModel(String pathToPom) throws Exception { BufferedReader in = new BufferedReader(new FileReader(pathToPom)); MavenXpp3Reader reader = new MavenXpp3Reader(); Model model = reader.read(in); return model; } 它可以工作,但Model对象只有与pom文件相同的信息。 如何改进该方法以便获得“完全解析”的Model对象? 通过完全解决,我的意思是:具有所有传递依赖关系以及来自父poms的所有其他内容。 干杯!

是否最好将项目jar文件Maven化或将它们放在WEB-INF / lib中?

我一直在为我的Spring MVC项目需要的所有jar文件执行此操作: call mvn install:install-file -DgroupId=vegetables -DartifactId=potatoes -Dversion=1.0 -Dfile=vegetables-1.0.jar -Dpackaging=jar -DgeneratePom=true 最近,我必须超出一些限制,你可以在pom.xml文件中列出多少依赖项,因为我收到一条错误消息: Your command line is too long 所以我从我的项目不再使用的pom.xml中删除了一些依赖项,并且我能够再次使用maven运行项目。 我的问题是,我应该将所有jar文件安装到我的Maven存储库中,就像我到目前为止一样吗? 或者我应该将其中一些放入WEB-INF/lib目录? 这里的最佳做法是什么?

Maven使用正确的文件夹路径在pom.xml中添加mainClass

我想用我的maven项目得到一个工作的jar文件。 构建部分是: org.apache.maven.plugins maven-checkstyle-plugin 2.14 com.puppycrawl.tools checkstyle 6.4.1 true ${basedir}/src/test/resources/checkstyle_swt1.xml org.apache.maven.plugins maven-assembly-plugin 2.4 src/assembly/src.xml package single org.apache.maven.plugins maven-compiler-plugin 3.0 1.7 1.7 true true true org.jis.Main 所以我现在的问题是我不知道如何将mainclass正确地实现到我的pom.xml中,然后再进入我的jar文件。 文件夹结构是:src / main / java / org / jis / Main.java但是如果我添加以下行 src.main.java.org.jis.Main 它不起作用。 提前致谢

为什么有时会跳过maven依赖项中的版本号?

我对maven的function相当新。我已经看到在pom.xml中放置了依赖项,有时只提到groupID和artifact id并且跳过了版本。 为什么是这样? 例如,以下依赖项来自Springsource网站http://spring.io/guides/gs/authenticating-ldap/ org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-security org.springframework.security spring-security-ldap 3.2.4.RELEASE org.apache.directory.server apacheds-server-jndi 1.5.5 但是在stackoverflow的其他地方,还提到版本不是可选的。 如果有人能够解释这一点我会很高兴。

如何将maven版本从3.XX降级到2.2.1?

我无法构建需要maven 2.2.1构建的项目。 如何降级maven版本? 编辑:更多信息 我正在尝试从命令行构建项目。 我在本地建造这个。 我目前安装了3.0.4版本。

如何从引用java项目访问静态资源(WEB-INF)文件夹中的文件?

我有一个Web应用程序,它包含一个配置xml文件,用于我的一个应用程序服务,它作为spring bean公开。 此外,我在同一工作区中有一个独立的Java应用程序(它从其pom.xml引用我的Web应用程序项目),它使用Spring TestContext框架运行测试,其中一个测试检查该XML文件的配置。 但是我从独立应用程序访问此xml文件时遇到问题: 在设置测试之前,在我之前的配置中,该文件是通过ServletContext访问的,位于WEB-INF /文件夹中。 但是,为了使它可以从测试项目访问,我必须将它移动到源/文件夹并使用getClassLoader()。getResourceAsStream()方法加载它而不是ServletContext。 但它使编辑文件变得麻烦,因为每次必须重新部署应用程序。 是否可以将文件保存在WEB-INF /文件夹中,但在测试运行期间从引用项目中加载它? PS目前它是一个带有Tomcat服务器的STS项目。

有没有一种从Maven POM生成Ant构建脚本的简单方法?

我们有一个使用Maven作为其构建/依赖管理工具的项目。 但我们的代码需要在我们客户的站点编译,我们的客户要求我们提供为Ant编写的构建脚本。 因此,我们希望继续使用Maven,并在需要将代码传递给客户端时自动生成Ant脚本。 我们可以这样做吗?