Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 如何将一个pom生成的多个jar上传到nexus存储库中_Maven_Pom.xml_Nexus - Fatal编程技术网

Maven 如何将一个pom生成的多个jar上传到nexus存储库中

Maven 如何将一个pom生成的多个jar上传到nexus存储库中,maven,pom.xml,nexus,Maven,Pom.xml,Nexus,我有一个pom文件,其中我基于包生成了两个jar,但我想在nexusrepo中上传这两个jar。正如我所看到的,只有一个jar正在复制到nexusrepo,而不是另一个 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4

我有一个pom文件,其中我基于包生成了两个jar,但我想在nexusrepo中上传这两个jar。正如我所看到的,只有一个jar正在复制到nexusrepo,而不是另一个

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.my</groupId>
<artifactId>Shared</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<url>http://maven.apache.org</url>

<properties>
    <project.build.directory>.</project.build.directory>
    <localRepo>C:/Users/myuser/.m2/repository1</localRepo>
</properties>



<build>
    <!--source directory pick the resources to be build. -->
    <sourceDirectory>source</sourceDirectory>

    <plugins>
        <!--maven compiler plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>

        <!--this plugin is to generate the manifest file -->
        <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> 
            <version>2.4</version> <configuration> <archive> <manifest> 
            <addClasspath>true</addClasspath> </manifest> <manifestEntries> <Built-By>my-org</Built-By> 
            </manifestEntries> </archive> </configuration> </plugin> -->
        <!-- this plugin to create the multiple jars with inclusion or exclusion 
            of the files -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <execution>
                    <id>default-jar</id>
                    <phase>none</phase>
                </execution>
                <execution>
                    <id>build-Castor-jar</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <phase>prepare-package</phase>
                    <configuration>
                        <archive>
                            <manifest>

                                <addClasspath>true</addClasspath>
                            </manifest>
                            <manifestEntries>
                                <Built-By>my-org</Built-By>
                            </manifestEntries>
                        </archive>
                        <includes>
                            <include>com/my/domain/BigDecimalHandler.class</include>
                            <include>com/my/domain/CalendarFieldHandler.class</include>

                            <include>com/my/domain/TimeZoneFieldHandler.class</include>

                        </includes>
                        <finalName>Castor-${version}</finalName>
                        <!-- <outputDirectory>${localRepo}/com/my/Castor/${version}/</outputDirectory> -->
                    </configuration>
                </execution>
                <execution>
                    <id>build-Shared-jar</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <archive>
                            <manifest>

                                <addClasspath>true</addClasspath>
                            </manifest>
                            <manifestEntries>
                                <Built-By>my-org</Built-By>
                            </manifestEntries>
                        </archive>
                        <excludes>
                            <exclude>com/my/domain/BigDecimalHandler.class</exclude>
                            <exclude>com/my/domain/CalendarFieldHandler.class</exclude>

                            <exclude>com/my/domain/TimeZoneFieldHandler.class</exclude>

                        </excludes>
                        <finalName>Shared-${version}</finalName>

                    </configuration>
                </execution>
            </executions>
        </plugin>



    </plugins>
</build>
    <repositories>
        <repository>
            <id>central</id>
            <name>Maven Plugin Repository</name>
            <url>http://nxrepository/nexus/content/groups/public</url>
        </repository>

4.0.0
com.my
共享
0.0.1-快照
罐子
http://maven.apache.org
.
C:/Users/myuser/.m2/repository1
来源
org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
org.apache.maven.plugins
maven jar插件
2.4
默认jar
没有一个
造脚轮罐
罐子
准备包装
真的
我的组织
com/my/domain/BigDecimalHandler.class
com/my/domain/CalendarFieldHandler.class
com/my/domain/TimeZoneFieldHandler.class
Castor-${version}
构建共享jar
准备包装
罐子
真的
我的组织
com/my/domain/BigDecimalHandler.class
com/my/domain/CalendarFieldHandler.class
com/my/domain/TimeZoneFieldHandler.class
共享-${version}
中心的
Maven插件库
http://nxrepository/nexus/content/groups/public

您可以使用
deploy:deployfile
目标来部署其他工件。但您应该知道,从一个项目构建两个JAR是违反Maven标准的。在您的情况下,最好在项目中定义两个包含不同包的模块。

分离代码,这意味着有不同的项目可以解决问题…顺便问一下:为什么要使用
更改defautl文件夹布局?这里有什么问题?