java - 从 Eclipse 为 Nexus 部署典型的 Maven 插件

标签 java eclipse maven repository

我想使用部署插件直接从 eclipse 将项目放在 sonatype (oss.sonatype.or) 的 nexus 存储库中。我很接近,但没有雪茄。我可以构建 -source.jar 和 -javadoc.jar 文件,并使用 gpg-plugin 对所有内容进行签名,但是当我部署时出现了一些错误。任何人都可以为此分享一个典型的 pom.xml 吗?谢谢。

最佳答案

更新:根据请求:设置 Eclipse 以部署到 Maven 中央存储库 (repo1.maven.org) 的详细说明

从 Eclipse Java 项目开始。使用 m2e 将其转换为 Maven 项目。 将有用的库部署到中央存储库的要求是

1: 好的代码。只需使用常识。不要把垃圾放在那里。测试一下。

2: Javadocs。注释所有的类和方法。创建一个 /src/main/javadoc 目录。使用 javadoc 插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.9.1</version>
    <executions>
        <execution>
            <id>attach-javadocs</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

3:源代码:使用源代码插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>2.2.1</version>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

4: 获取一个 gpg id 和 key ,并按照用于使用 Maven 设置它的 Sonatype 说明进行“注册”:请参阅 https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven 添加插件……

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.4</version>
    <executions>
        <execution>
            <goals>
                <goal>sign</goal>
            </goals>
        </execution>
    </executions>
</plugin>

和.m2/settings.xml

<profiles>
    <profile>
        <id>gpg</id>
        <properties>
            <gpg.passphrase>*******</gpg.passphrase>
        </properties>
    </profile>
</profiles>
<activeProfiles>
    <activeProfile>gpg</activeProfile>
</activeProfiles>

5: 添加maven部署插件。这将停止常规部署阶段:

<plugin>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.1</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

6: 添加 sonatype 插件:注意:一旦您被授予对存储库的访问权限,您将能够获得他的 stagingProfileId。

<plugin>
    <groupId>org.sonatype.plugins</groupId>
    <artifactId>nexus-staging-maven-plugin</artifactId>
    <version>1.4.8</version>
    <executions>
        <execution>
            <id>default-deploy</id>
            <phase>deploy</phase>
            <goals>
                <goal>deploy</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <serverId>sonatype-nexus-staging</serverId>
        <nexusUrl>https://oss.sonatype.org/</nexusUrl>
        <stagingProfileId>***********</stagingProfileId>
    </configuration>
</plugin>

7:仔细阅读 Sonatype Maven Repository 使用指南:执行 POM 所需的额外内容,例如许可证部分、scm 部分、开发人员部分和父部分。 https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide 它会告诉您如何注册和开票。打开票证后,您就可以访问 Sonatype Nexus 网站 https://oss.sonatype.org .在那里您可以找到上面需要的 stagingProfileId。将服务器信息添加到您的 .m2/settings.xml

<servers>
    <server>
        <id>sonatype-nexus-snapshots</id>
        <username>yourusername</username>
        <password>yourpassword</password>
    </server>
    <server>
        <id>sonatype-nexus-staging</id>
        <username>yourusername</username>
        <password>yourpassword</password>
    </server>
</servers>

8: 最后,从 eclipse 中创建一个 maven 运行时配置:右键单击该项目,选择 Run As->Run Configurations。创建一个新的 Maven 构建,将基本目录设置为您的项目目录,并将目标设置为“干净部署”应用并运行,但首先运行 Mavin->Install 以在本地创建您的 javadoc 和源文件,以便您可以检查错误或警告消息。

关于java - 从 Eclipse 为 Nexus 部署典型的 Maven 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20150911/

相关文章:

java - Selenium Java - 新的 Actions(driver)).sendKeys(...) 行为

java - 使用程序集排除 *.war 文件中的属性文件

java - 从大型 java 项目中提取模块

eclipse - Sonarqube Eclipse 插件服务器无法启动

c++ - 快速排序不适用于大型数组

java - exec-maven-plugin 说不能运行指定的程序,即使它在 PATH 上

java - 可以按值的顺序迭代的映射

java - antlr3 unicode字符导致错误

java - 在android中比较两个字符串

java - Eclipse 使用的是哪个 Java?