更新:见后续问题
我有一个Java库,它的构建过程完全是用蚂蚁编写的。项目的沙盒(我编辑代码的源代码目录)是
R:\jeffy\programming\sandbox\xbnjava\
它的构建(输出)目录是
R:\jeffy\programming\build\xbnjava-0.1.1\
这就是我的目标:
>
mylibrary-0.1.1.jar
mylibrary-0.1.1-sources.jar
mylibrary-0.1.1-javadoc.jar
它们被放置在
R:\jeffy\programming\build\xbnjava-0.1.1\download
这部分已经完成,效果很好。这三个罐子是Maven Central所需的(向上滚动一点即可查看)。
将版本签入GitHub并将构建目录上载到我的web服务器。我也完成了这一步。
mvn deploy
:唯一需要做的就是签署三个JAR并将其推送到Maven Central。这是我目前的生活祸根。
以下是我迄今为止所采取的步骤:我做到了
>
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>MY_SONATYPE_USERNAME</username>
<password>MY_SONATYPE_PASSWORD</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>MY_SONATYPE_USERNAME</username>
<password>MY_SONATYPE_PASSWORD</password>
</server>
</servers>
<pluginGroups></pluginGroups>
<proxies></proxies>
<mirrors></mirrors>
<profiles></profiles>
</settings>
(这个文件存储在R:\jeffy\编程\沙盒\settings.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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.xbn</groupId>
<artifactId>xbnjava</artifactId>
<packaging>jar</packaging>
<version>0.1.2-SNAPSHOT</version>
<name>XBN-Java</name>
<url>https://github.com/aliteralmind/xbnjava</url>
<inceptionYear>2014</inceptionYear>
<organization>
<name>Jeff Epstein</name>
</organization>
<description>XBN-Java is a collection of generically-useful backend (server side, non-GUI) programming utilities, featuring RegexReplacer and FilteredLineIterator. XBN-Java is the foundation of Codelet (http://codelet.aliteralmind.com).</description>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<licenses>
<license>
<name>Lesser General Public License (LGPL) version 3.0</name>
<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
</license>
<license>
<name>Apache Software License (ASL) version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<name>Jeff Epstein</name>
<email>aliteralmind-github@yahoo.com</email>
<roles>
<role>Lead Developer</role>
</roles>
</developer>
</developers>
<issueManagement>
<system>GitHub Issue Tracker</system>
<url>https://github.com/aliteralmind/xbnjava/issues</url>
</issueManagement>
<scm>
<connection>scm:git:git@github.com:aliteralmind/xbnjava.git</connection>
<url>scm:git:git@github.com:aliteralmind/xbnjava.git</url>
<developerConnection>scm:git:git@github.com:aliteralmind/xbnjava.git</developerConnection>
</scm>
<properties>
<java.version>1.7</java.version>
</properties>
剩下的,我不太确定:
<profiles>
<!--
This profile will sign the JAR file, sources file, and javadocs file using the GPG key on the local machine.
See: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
-->
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>release</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>package</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
我需要做什么来完成POM,它的路径是
R:\jeffy\programming\sandbox\xbnjava\pom.xml
因此,它签名并推送这三个jar文件,如位于
R:\jeffy\programming\build\xbnjava-0.1.1\download\
去马文中心?
如果你能给我一些建议,我将不胜感激。我已经在Maven文档中畅游了三天了,我迷失了方向,感到沮丧。这是我在过去几年里与Maven的第三次尝试,每次都非常糟糕。
(我最初试图通过Ant任务来满足Maven的要求,但我决定将我的Ant构建和Maven登录罐子和推送到Maven-Central部分完全分开。这是为了学习新的东西,但也是因为似乎在Ant中实现Maven与其说是标准,不如说是纯粹的Maven。)
谢谢你帮助我。
如果你在Maven之外构建你的工件,你需要在你的应用程序中引用它们。pom文件
首先,将项目的打包设置为
pom
,这样Maven就不会试图编译任何东西。
然后使用
build helper maven插件
将工件文件附加到项目中。下面是一个例子:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>build/xbnjava-0.1.1/download/mylibrary-0.1.1.jar</file>
<type>jar</type>
</artifact>
<artifact>
<file>build/xbnjava-0.1.1/download/mylibrary-0.1.1-javadoc.jar</file>
<type>jar</type>
<classifier>javadoc</classifier>
</artifact>
<artifact>
<file>build/xbnjava-0.1.1/download/mylibrary-0.1.1-sources.jar</file>
<type>jar</type>
<classifier>sources</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
最后,将
distributionManagement
部分添加到您的应用程序中。这里指定的pom文件。
你可以参考我自己在github上的Maven项目设置,它是为了上传手动构建的。Maven central上的jar文件。
问题内容: 更新:请参阅后续问题 我有一个Java库,其构建过程完全用Ant编写。该项目的沙箱(源代码,我在其中编辑代码)是 其构建(输出)目录为 这是我的目标是: :从头开始构建项目,包括创建这三个jar 被放入 这部分已经完成并且运行良好。这三个罐子是Maven Central 所要求的(向上滚动一点即可看到它)。 将版本检入GitHub并将构建目录上载到我的Web服务器。我也已经完成了这一步
我有一个pom.xml文件,这里有一些第三方jar依赖项和一些项目相关的jar。我只需要将第三方jar部署到artifactory中,而不是所有的jar。
我想知道如何用电子邮件数字证书签名,然后使用CURL发送这个签名的电子邮件消息。 下面是一个简单的文本/普通电子邮件的例子,我想签署。 我将整个消息放在一个名为的文件中,然后使用CURL发送它。 砰。仅此而已。 下面的链接描述了如何使用OpenSSL对mime消息进行签名。 https://www.misterpki.com/openSSL-smime/ RFC8551第3.5、3.5.1和3.5
问题内容: 请参阅后续问题: 后续部分2 –使用Maven仅将jar签名并部署到Maven Central。构建和编译完全由Ant完成 我的目标是让Maven签名并将 已创建的 jar 推送到Maven Central。该三个jar 位于 这些jar由我的Ant构建过程独立创建。Maven不会以任何方式用于构建或编译我的项目-我只是用它来将罐子放在Maven Central上。(在我上一个问题的帮
我在Eclipse中使用Maven。是否可以构建项目,然后将构建的WAR文件部署到Tomcat服务器? 我使用Windows。我可以构建文件,也可以手动部署在服务器上。但是我想在构建操作后自动部署文件,它不起作用。我是Maven的新手。 我应该在运行配置中设置一些内容吗?我设定了安装价值的目标。 pom。xml 此外,我更改了设置。路径中的xml文件。平方米/设置。xml。 设置。xml
我正在开发一个由以下结构组成的web应用程序: 在此输入图像说明 当我执行mvn clean package时,webapp中没有文件打包到jar中。