当前位置: 首页 > 知识库问答 >
问题:

如何为专家设置新的本地文物?

齐甫
2023-03-14

我已经阅读了很多关于这个和其他网站的问题和文章,但我仍然无法让它工作。

我配置了maven来执行我的构建,现在想将工件放入存储库中。我在tomcat中安装了artiFactory,它似乎正在工作。

如果我执行“mvn全新安装”,消息表明工件被上传到本地maven存储库,而不是artifactory:

[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ my-app ---
[INFO] Installing C:\maven_projects\my-app\my-app\target\my-app-1.0-SNAPSHOT.jar to             C:\Users\Administrator\.m2\repository\com\mycompany\app\my-app\1.0
-SNAPSHOT\my-app-1.0-SNAPSHOT.jar
[INFO] Installing C:\maven_projects\my-app\my-app\pom.xml to     C:\Users\Administrator\.m2\repository\com\mycompany\app\my-app\1.0-SNAPSHOT\my-app-1.0-SNAPSHOT.pom

如果我执行一个“mvn deploy:deploy”文件,指定存储库,消息表明工件正在上传到工件中,但它们不在那里:

mvn deploy:deploy-file -DrepositoryId=libs-release-local -Durl=http://localhost:8080/artifactory/libs-release-local -D
groupId=com.mycompany.app -DartifactId=my-app -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=target/my-app-1.0-SNAPSHOT.jar

[...]

[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy-file (default-cli) @ my-app ---
Downloading: http://localhost:8080/artifactory/libs-release-local/com/mycompany/app/my-app/1.0-SNAPSHOT/maven-metadata.xml
Uploading: http://localhost:8080/artifactory/libs-release-local/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-20130202.014428-1.jar
Uploading: http://localhost:8080/artifactory/libs-release-local/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-20130202.014428-1.pom

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <repositories>
                      <repository>
                              <id>central</id>
                      <url>http://localhost:8080/artifactory/libs-release</url>
                      <snapshots>
                              <enabled>false</enabled>
                      </snapshots>
              </repository>
              <repository>
                      <id>snapshots</id>
                      <url>http://localhost:8080/artifactory/libs-snapshot</url>
                      <releases>
                              <enabled>false</enabled>
                      </releases>
              </repository>
      </repositories>
      <pluginRepositories>
              <pluginRepository>
                      <id>central</id>
                      <url>http://localhost:8080/artifactory/plugins-release</url>
                      <snapshots>
                              <enabled>false</enabled>
                      </snapshots>
              </pluginRepository>
              <pluginRepository>
                      <id>snapshots</id>
                      <url>http://localhost:8080/artifactory/plugins-snapshot</url>
                      <releases>
                              <enabled>false</enabled>
                      </releases>
              </pluginRepository>
      </pluginRepositories>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <distributionManagement>
<repository>
        <id>sademo</id>
        <name>sademo-releases</name>
        <url>http://localhost:8080/artifactory/ext-release-local</url>
    </repository>
    <snapshotRepository>
        <id>sademo</id>
        <name>sademo-snapshots</name>
        <url>http://localhost:8080/artifactory/ext-snapshot-local</url>
    </snapshotRepository>
</distributionManagement>
</project>

settings.xml文件是:

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0         http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <servers>
    <server>
      <username>admin</username>
      <password>password</password>
      <id>sademo</id>
</server>
    <server>
      <username>admin</username>
      <password>password</password>
      <id>sademo-releases</id>
    </server>
  </servers>
  <mirrors>
    <mirror>
      <mirrorOf>*</mirrorOf>
      <name>remote-repos</name>
      <url>http://localhost:8080/artifactory/remote-repos</url>
      <id>remote-repos</id>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>sademo</id>
          <name>libs-release</name>
          <url>http://localhost:8080/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots />
          <id>sademo-snapshots</id>
          <name>libs-snapshot</name>
          <url>http://localhost:8080/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>plugins-release</name>
          <url>http://localhost:8080/artifactory/plugins-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>plugins-snapshot</name>
          <url>http://localhost:8080/artifactory/plugins-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

有什么办法可以让我的“mvn干净安装”上传到artifcatory的罐子吗?

共有1个答案

督俊雅
2023-03-14

在马文

mvn install

旨在将工件安装到本地存储库中,而不是安装到远程存储库中。要将工件上传到远程存储库,您需要说:

mvn deploy

mvn deploy将使用来自distributionManagement的条目将工件上传到给定的存储库中。

在您的示例中,pom不应包含任何存储库配置,因为您已经在settings.xml文件中完成了。

除此之外,看起来您的配置不是100%正确,导致消息

Uploading: http://localhost:8080/artifactory/libs-release-local/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-20130202.014428-1.jar
Uploading: http://localhost:8080/artifactory/libs-release-local/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-20130202.014428-1.pom

显示了工件的放置位置。在本例中,库发布本地,但工件是快照的,而不是发布。

我会说要改变以下内容:

<repository>
  <snapshots />
  <id>sademo-snapshots</id>
  <name>libs-snapshot</name>
  <url>http://localhost:8080/artifactory/libs-snapshot</url>
</repository>

变成:

<repository>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
  <id>sademo-snapshots</id>
  <name>libs-snapshot</name>
  <url>http://localhost:8080/artifactory/libs-snapshot</url>
</repository>
 类似资料:
  • 问题内容: 似乎他们没有任何文档,除了在他们的官方论坛上有一些api调用之外。我有Zend框架和CodeIgniter框架的经验。OpenCart的任何高手都可以向我推荐学习它的最佳方法,并在最短的时间内对其进行掌握吗?我必须尽快做一个大项目。 问题答案: 本指南是为已经熟悉PHP,OOP和MVC架构的开发人员编写的 在下面的内容中,您将看到购物车目录侧的示例。除了在相关部分中提到的视图之外,管理

  • 我想粘贴一个相对图像url到一个div设置为背景图像。不幸的是,div不会呈现图像。因此,这工作良好,并呈现图像 但这个不是 我也尝试过的事情: 在单引号中包装url 可能吗? 从src文件夹开始 和从“资源”文件夹开始 背景图像的正确url是什么? 更新 我在用VueJs所以这里的情况可能会有所不同?再现的步骤: 使用Vue CLI创建新项目 在中创建 目录 在中创建映像,并将其称为 使用更新a

  • 我遵循每一个步骤来设置新的版本。 我已经有了,为了更新,我下载了 ....现在当我运行Android Studio时,它说: 错误:配置根项目“empty”时出现问题。 未能解析配置“:classpath”的所有依赖项。找不到com.android.tools.build:gradle:4.1。在以下位置搜索:文件:/c:/程序文件/android/android Studio1/gradle/m

  • 我对JAXB有意见。我的一个元素要求我设置一个,而不是仅仅设置一个。我知道这方面的一个解决方案是更改xsd,正如这里讨论的JAXB生成jaxbelement 而不是String,但是xsd是由供应商提供的,我们无法说服他们更改它。

  • 问题内容: 这是我的PostgreSQL函数: 它有一个参数,我想通过JPQL 将Java传递给它: 上面的代码失败,但例外: 所以我不确定如何从EclipseLink调用我的函数。 问题答案: 通过将String []类型的Java数组传递给您进行测试,以进行测试。似乎PgJDBC不接受Java数组作为带有或不带有参数的参数。 合规 JDBC规范 16.5“数组对象” 建议JDBC 部分存在,因

  • 如何设置文本字段中文本的颜色?例如,将“你好和谐”字段中的“和谐”字体设置为红色。Android代码实现如下: SpannableStringBuilder ssb=新的SpannableStringBuilder();ssb。setSpan(新的ForegroundColorSpan(getCurrentHintTextColor()),i,i 1,0);