我想知道是否有人知道从IntelliJ调用特定Maven模块构建的方法,该方法还将构建(或使用已经编译的类)它依赖的模块。 因此,例如,如果我只想在图片中构建模型“模型”,那么单击它上面的包步骤似乎是合理的。 但它实际上是什么来调用这个特定模块中的mvn package步骤而不是根模块中的mvn -am -pl module-name ,它还构建了所有依赖项。 那么有什么我不知道的吗? 删除了死的ImageShack链接
我正在开发一个纯Java基于配置的Spring MVC项目。 当我进行Maven干净安装时,我收到以下错误。 无法在项目上执行目标org.apache.maven.plugins:maven-war-plugin:2.2:war(default-war)SpringMVC-ShoppingCart:汇编WAR时出错:需要webxml属性(或预先存在的WEB-INF / web .xml如果在更新模式下执行) – > [帮助1] 该错误表明缺少web.xml ,但由于我使用的是基于纯Java的配置,因此我没有。 如何确保项目在没有web.xml情况下构建和创建war文件?
我想确保我的项目不包含包之间不必要的依赖项。 例如,我想确保项目具有分层结构。 即模型低于一切,业务逻辑依赖于模型,视图依赖于业务逻辑和模型。 每个层都放在自己的包中。 你能推荐一些优选的开源工具,它允许我指定这些约束并将它们作为持续集成的一部分进行检查吗? PS我知道我可以在单独的maven模块中分离项目。 不幸的是,我的真实案例比3层系统更复杂。 如果我使用maven模块,我会有几十个非常小的模块。
我在这里有一些非常特殊的东西,当我输入“mvn clean install”时,我的构建在maven中成功,但是一旦导入到Eclipse中它就会显示错误。 你自己看: 我想从`pom.xml中排除石英解决了问题,但我想知道原因。 PS:如果你想看到它,这是pom.xml : 4.0.0 com.thongvan.mpclient MyClient 1.0-SNAPSHOT jar MyClient http://maven.apache.org UTF-8 junit junit 3.8.1 test com.thongvan.mp MyEjb 1.0-SNAPSHOT org.jboss.jbossas jboss-as-client 5.1.0.GA pom 编辑 如你所见,石英在这里:
我目前正在从Flyway中删除Spring依赖项。 在将来,虽然可能需要其他类型的依赖项来支持用户子集(例如JBoss VFS支持)。 哪个是支持可选依赖项的最佳方法 (在Maven POM中可选= true)? 解决方案的质量如下: 最终用户的易用性(如果存在依赖性,则使用function所需的最少工作量) 易于开发人员使用(处理可选依赖项的代码应尽可能可读且简单明了) 没有不必要的依赖项(如果某些最终用户不需要此function,则无需引入依赖项)
我目前管理一些单独的Maven项目,其中我使用Protobufs作为序列化格式并通过线路。 我正在使用David Trott的maven-protoc插件在编译时生成代码。 一切都很好,直到我希望这些项目彼此之间进行通信 – 或者更确切地说,使用彼此的protobufs。 protobuf语言有一个“导入”指令,它可以满足我的需要,但是我面临的挑战是让项目A导出一个“.proto”文件(或者可能是一些中间格式?),以供项目B依赖。 Maven提供了一种项目捆绑资源的方法,但是AFAIK,这些是在运行时由代码而不是在编译/源代码生成阶段的目标使用 – 至少我找不到描述的文档我想要实现的目标。
我在dependency injection(Spring autowiring)和maven-surefire方面遇到了一些问题。 以下测试在使用TestNG在eclipse中运行时没有问题:注入service-object,然后调用@BeforeClass -method。 @TransactionConfiguration(defaultRollback=false) @ContextConfiguration(locations={“/testContext.xml”}) public class MyServiceTest extends AbstractTransactionalTestNGSpringContextTests { @Autowired private MyService service; @BeforeTest public void setup() { System.out.println(“*********************”+service); Assert.assertNotNull(service); } 但是,当我使用maven-surefire运行相同的测试用例时,首先调用setup(),这会导致测试失败: [INFO] — maven-surefire-plugin:2.7.2:test (default-test) @ myserver — [INFO] Surefire report directory: D:\… ——————————————————- TESTS ——————————————————- Running TestSuite **************************null 2011-03-04 11:08:57,462 DEBUG ionTestExecutionListener.prepareTestInstance – Performing dependency injection for test context […]
我正在使用jaxb2 xjc插件从XSD生成java文件。 因此,我曾经按如下方式配置我的pom.xml: org.codehaus.mojo jaxb2-maven-plugin 1.3 generate-sources xjc com.mypackage.model ${basedir}/src/main/resources/XSD org.apache.maven.plugins maven-compiler-plugin 1.6 1.6 我将我的开发环境改为Eclipse Indigo,这不再适用了。 错误说:“生命周期配置未涵盖插件执行”。 我知道我必须以不同的方式定义我的插件的执行,以便它在我的新环境中工作。 我按照本页上的说明M2E插件执行未涵盖,但在执行generate-sources阶段时未生成源文件。 任何人都可以告诉我如何精确重构我的pom,以便我的文件正确生成? 谢谢你的帮助!
我的日食是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] […]
我已经将现有的maven项目导入Eclipse。 我试图为JUnit测试设置配置,我的项目不会成为可测试的项目。 当我手动输入项目名称时,我收到了以下消息: 指定的项目不是java项目 我还注意到,在键入代码并尝试调用方法时,例如“System.out”,当我键入句点时弹出一条消息,说: 此编译单元不在java项目的构建路径上 此外,当我右键单击项目并导航到Build Path时,没有可用的操作。 在这里和其他地方看了这个,我遵循了以下建议,没有成功: 我已经validation了.project和.classpath文件的存在 我查看了.project文件并validation了包含javanature 我运行了mvn eclipse:eclipse 我在PackageExplorer> Maven>更新项目配置中右键单击了该项目 Java没有被列为项目方面,但我不确定我应该把它搞得一团糟,因为我已经尝试点击它,这导致整个项目充满错误(我认为与构建路径有关,但我可以’很记得)。 删除Java作为一个方面没有摆脱错误,我不得不从头开始重新导入项目。 很抱歉,如果其中任何一个含糊不清,感谢您的帮助。 我正在使用m2eclipse。 编辑:只需从我的工作区删除项目,删除所有.project,.classpath文件和.settings文件夹,然后重新导入,问题就解决了。 我不知道为什么它第一次没用。