我有一个maven3多模块项目,由于一个奇怪的原因,我需要为我的一个子模块自定义POM文件名(即:module-pom.xml)
是否可以在父pom中配置它?
奇怪的原因是有点长的解释抱歉,但你会有简单的背景.
上下文
我正在开发一个也使用LGPLed项目的闭源项目.这个项目叫做main
我想main
声明每个项目的模块,关闭和打开.应使用唯一mvn clean package
命令进行完整构建.
在main
reactor项目中,我有lgpl-reactor
一个包含3个LGPL模块的多模块项目(API,插件和分发项目).有些开发人员lgpl-reactor
只能访问,所以我也希望这个项目从mvn clean package
命令文件夹构建,就像一个完全独立的项目.
我还有main-dist
一个项目,它只是一个maven-assembly-plugin项目(用于构建发行版).
问题
如果我添加对lgpl-reactor
pom.xml的父引用,则全局main
构建工作正常,并且创建的程序集main-dist
有效,但lgpl-reactor的独立构建失败(未找到主pom.xml).
如果我从lgpl-reactor
pom.xml中删除父引用,则独立lgpl-reactor
构建可以工作,但创建的程序集main-dist
无效(缺少.
怎么解决这个?
使用另一个POM文件module-pom.xml进行lgpl-reactor
模块main
声明列表中的模块声明.从main
项目中执行完整构建时,module-pom.xml
包含对父POM的引用并且正常工作.
使用默认的POM文件pom.xml进行标准版构建lgpl-reactor
.这个POM几乎不能用tag 的relativePath
属性引用父pom<parent>
但我怎么能这样做?如果可能的话 ?或者有更好的解决方案吗?
主反应堆项目目录
lgpl-lib [LGPL Library]
lgpl-ext [LGPL Reactor Project]
closed-core [Closed source module]
closed-spring [Closed source …
Run Code Online (Sandbox Code Playgroud) 我正在使用MOXy 2.6(JAXB + JSON).
我想以相同的方式编组ObjectElement和StringElement,但是当字段被输入为Object时,MOXy会创建包装器对象.
ObjectElement.java
public class ObjectElement {
public Object testVar = "testValue";
}
Run Code Online (Sandbox Code Playgroud)
StringElement.java
public class StringElement {
public String testVar = "testValue";
}
Run Code Online (Sandbox Code Playgroud)
Demo.java
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import org.eclipse.persistence.jaxb.JAXBContextFactory;
import org.eclipse.persistence.jaxb.MarshallerProperties;
import org.eclipse.persistence.oxm.MediaType;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContextFactory.createContext(new Class[] { ObjectElement.class, StringElement.class }, null);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, MediaType.APPLICATION_JSON);
System.out.println("ObjectElement:");
ObjectElement objectElement = new ObjectElement();
marshaller.marshal(objectElement, System.out);
System.out.println();
System.out.println("StringElement:");
StringElement stringElement = new …
Run Code Online (Sandbox Code Playgroud) 我在github上维护一个开源项目,其中包含README.md
包含当前版本项目的安装说明的文件1.0.0-SNAPSHOT
.
将新版本发布到maven central时,是否可以自动更新此中包含的版本号README.md
?
版本执行时maven-release-plugin
,pom.xml中的版本已更新,但我在文档中找不到任何正确更新此外部文件的内容.
例:
README.md
文件目前在1.0.0-SNAPSHOT
.它位于maven源/资源之外,但它是在git上管理的.on mvn release:prepare
,它应该更新为1.0.0
,然后maven应该在标记新版本之前提交/推送更改.然后,mvn release:perform
它应该转到下一个开发版本1.0.1-SNAPSHOT
.
(链接到项目)