小编Toi*_*lal的帖子

maven multimodule中的自定义pom.xml文件名

我有一个maven3多模块项目,由于一个奇怪的原因,我需要为我的一个子模块自定义POM文件名(即:module-pom.xml)

是否可以在父pom中配置它?

奇怪的原因是有点长的解释抱歉,但你会有简单的背景.

上下文

  • 我正在开发一个也使用LGPLed项目的闭源项目.这个项目叫做main

  • 我想main声明每个项目的模块,关闭和打开.应使用唯一mvn clean package命令进行完整构建.

  • mainreactor项目中,我有lgpl-reactor一个包含3个LGPL模块的多模块项目(API,插件和分发项目).有些开发人员lgpl-reactor只能访问,所以我也希望这个项目从mvn clean package命令文件夹构建,就像一个完全独立的项目.

  • 我还有main-dist一个项目,它只是一个maven-assembly-plugin项目(用于构建发行版).

问题

  • 如果我添加对lgpl-reactorpom.xml的父引用,则全局main构建工作正常,并且创建的程序集main-dist有效,但lgpl-reactor的独立构建失败(未找到主pom.xml).

  • 如果我从lgpl-reactorpom.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)

java maven-2 maven-3

12
推荐指数
2
解决办法
9948
查看次数

避免在MOXy中创建对象包装器类型/值(JAXB + JSON)

我正在使用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)

java json jaxb moxy

7
推荐指数
1
解决办法
601
查看次数

在maven版本上更新README中包含的版本

我在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.

(链接到项目)

java maven

5
推荐指数
1
解决办法
2435
查看次数

标签 统计

java ×3

jaxb ×1

json ×1

maven ×1

maven-2 ×1

maven-3 ×1

moxy ×1