我有点像Maven newb,我正在尝试设置一个构建多个子项目的maven项目,但仍允许某人只需抓住其中一个子项目并在没有父项目的情况下独立构建它.
parentfolder
->pom.xml
->project1
->pom.xml
->src
->project2
->pom.xml
->src
->project3
->pom.xml
->src
Run Code Online (Sandbox Code Playgroud)
基本上我希望有人能够签出父文件夹并进行mvn编译以构建所有项目,并且还有人能够只签出project1并执行mvn编译来构建它.
我已经尝试将子项目声明为顶级pom.xml中的模块,
<modules>
<module>project1</module>
<module>project2</module>
<module>project3</module>
</modules>
Run Code Online (Sandbox Code Playgroud)
但这似乎要求在子代中声明父pom.xml信息.这使得子项目依赖于父pom.xml存在,这是我想要避免的.
在我的基础项目中,我使用了JasperReports的依赖项,它的pom中存在不存在的存储库声明.当我运行每个Maven commad时,依赖于在这个Jasper存储库中查找commons-collection,所以我需要等待超时.
这是我的基础项目,在我的其他项目中用作依赖项,所以我需要等待超时.
有没有办法将此存储库移至黑名单或覆盖此设置?
注意:1.
为什么在Jasper存储库中搜索,可能会因为范围而受到影响
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>[2.1,)</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我解决这个问题的想法是改变jasper pom并使用代理存储库,但我期待另一种选择.
3.我使用jasperreports 1.3.3版本,我想不要改变它.
我刚尝试在Maven中创建一个项目,其artifactId完全由非英文字符组成("日本国").
我从Maven得到以下反馈:
ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM). Project ID: com.worldevolved:??? POM Location: /tmp/???910145040748591900/pom.xml Validation Messages: [0] 'artifactId' with value '???' does not match a valid id pattern.
我可以对我的POM文件做什么让Maven按原样读取artifactId吗?或Maven不支持artifactId中的Unicode字符?
我正在编写Web应用程序,我想知道填充初始数据的推荐方法是什么.这是JPA/Hibernate和Spring应用程序,由maven构建.到目前为止,我已经使用脚本填充数据库和初始数据,手动启动.
单元测试使用他们自己的数据,在每次测试之前在代码中创建.我的测试类扩展了org.springframework.test.jpa.AbstractJpaTests.
最后,我想有一个maven构建,它创建数据库表单实体(现在我需要第一次运行应用程序来创建数据库,然后运行脚本)然后填充初始/字典数据并运行单元和集成测试.这个过程应该是完全自动化的,把这个构建在CI服务器(哈德森)中,从头开始创建新数据库也很感激.
附加要求:数据库不可知解决方案将是最有价值的.
编辑:我正在寻找的最好的例子是BootStrap.groovy中的初始化闭包.
我遇到了一个杀死我所有头发的maven问题.
所以在开始时我所有的maven项目都运行良好.然后当我今天切换到新计算机并尝试编译它们时.
我从Eclipse看到的第一个错误是从本地maven存储库读取jar文件的IO错误.然后我用谷歌搜索,有人建议这是一些损坏的文件,只需删除它们,让maven重建存储库.
这解决了一段时间的问题.然后它一次又一次地弹出.
我累了,删除了整个本地存储库,并重新做了一切.然后我发现了原因:
maven远程存储库是坏的.
所以这是控制台消息的一部分.
[INFO] Unable to find resource 'org.apache.ws.commons.axiom:axiom-dom:jar:1.2.8' in repository eclipse-repo (http://repo1.maven.org/eclipse) Downloading: https://maven-repository.dev.java.net/nonav/repository//org.apache. ws.commons.axiom/jars/axiom-dom-1.2.8.jar 373b downloaded (axiom-dom-1.2.8.jar) [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '2c6102c2c3 70e0b993e897e981618ed448651147'; remote = 'The file contains an http redirect.
301 Moved PermanentlyMoved Permanently
The document has moved here.
Apache Server at maven-repository.dev.java.net Port 443
我被卡住了.我怎样才能得到真正的依赖罐?我该如何告诉maven避免这种情况?这真的很烦人.
我想找到一个简单,非平凡的Java项目,用Ant + Ivy,Maven,Gant和Gradle来表达.我对每个工具的各种示例演示都不感兴趣.
我在哪里可以找到这样的例子,供参考?
如何在针对DTD或XSD架构的Maven构建期间验证XML文档?
如果所有文件都在版本控制之下,那么对Eclipse和NetBeans项目进行复制的过程通常需要大量的手动工作.
所以我正在考虑编写一个Ant脚本,该脚本使用svn命令根据标准Maven目录布局重新排列工作副本中的文件.这将使所有文件修订历史保持不变.如果所有文件都已移动到正确的位置,则新目录结构将一起提交.(而不是在存储库中调用许多小移动命令).
您是否了解可以帮助我找到标准Eclipse或NetBeans项目(包括Web项目)的正确"迁移"策略的资源?
例如,标准Java和Web/EJB项目的Eclipse和NetBeans目录结构概述将会很有帮助.
是否有maven插件自动计算和更新实现Serializable接口的所有java类文件的串行版本uid?
我使用Hibernate MySQLInnoDB Dialect来生成DDL.
hibernate.cfg.xml:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
Run Code Online (Sandbox Code Playgroud)
如何为生成的表配置字符集/排序规则为'utf8_general_ci'?
在JBoss文档中,有可能声明<no-tx-datasource>
哪些状态:
no-tx-datasource :该元素用于指定(org.jboss.resource.connectionmanager)NoTxConnectionManager服务配置.NoTxConnectionManager是一个没有事务支持的JCA连接管理器.
我很好奇这种数据源可以连接什么?LDAP?这种配置的实际用例或开源示例是什么?
我们正计划重组一个包含许多模块/件的复杂项目,无论你想要什么.为了转向标准目录结构,我们希望采用maven文件结构.
所以最大的问题是:任何人都可以提供maven文件结构的描述,我们不必深入挖掘所有maven说话吗?
maven-2 ×10
java ×3
hibernate ×2
maven-plugin ×2
repository ×2
xml ×2
ant ×1
corruption ×1
datasource ×1
dependencies ×1
eclipse ×1
gant ×1
gradle ×1
ivy ×1
java-ee ×1
jboss ×1
jpa ×1
mysql ×1
netbeans ×1
orm ×1
php ×1
svn ×1
unicode ×1
validation ×1
xsd ×1