Разверните jar во внутренний репозиторий maven - PullRequest
3 голосов
/ 09 ноября 2011

Я создал внутренний репозиторий maven.У меня есть банки, которые не были созданы с помощью Maven, то есть для них нет файла pom.xml.Мне нужно развернуть этот jar во внутреннем репозитории, который я создал.Для этого я использовал mvn deploy: deploy-file.Ниже приведена команда, которую я использовал -

mvn -X deploy: deploy-file -Durl = scp: // localhost / my-repo / -DrepositoryId = localhost -Dfile = temp.jar -DgroupId = com.myorg -DartifactId = temp -Dversion = 1.0 -Dpackaging = jar -Dclassifier = test -DgeneratePom = true -DgeneratePom.description = "temp test" -DrepositoryLayout = default -DuniqueVersion = false

Я использую Windows XP и Apache-Maven-3.0.3.Я получаю следующую ошибку -

"[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins: maven-deploy-plugin: 2.5: deploy-file (default-cli) в автономном проекте-pom: не удалось развернуть артефакты / метаданные: недоступен соединитель для доступа к хранилищу localhost (scp: // localhost / commons-logging /) типа default с использованием доступных фабрик WagonRepositoryConnectorFactory "

У меня никогда не былоЯ использовал scp на Windows, так как я работал на Linux-машинах, и я также не делаю, мне нужно установить его для решения этой задачи, тогда откуда я могу его установить и как преодолеть ошибку, с которой я сталкиваюсь.Пожалуйста, направьте меня по этому вопросу.

Спасибо !!

Ответы [ 3 ]

1 голос
/ 21 февраля 2013

mvn deploy:deploy-file -Durl=scp://d8u.us/home/hd1/public_html/maven2 -DrepositoryId=localhost -Dfile=yourwar.jar -DgroupId=us.d8u -DartifactId=yourwar -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true -DrepositoryLayout=default -DuniqueVersion=false у меня работает. Мне просто нужно было создать каталог maven2 в моем домашнем каталоге и установить соответствующие права доступа для веб-пользователя, а затем отключить Mr. Блог Сьерры , где он любезно предоставил почти 100 * инструкции для моего случая .

1 голос
/ 06 декабря 2011

Вы не упоминаете, что это за хранилище.Если речь идет о репозитории на вашем локальном компьютере, вы можете сделать это:

mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dpackaging=jar -Dversion=1.0.1B -Dfile=jta-1.0.1B.jar -DgeneratePom=true

Если репозиторий похож на Nexus, то используйте его пользовательский интерфейс для загрузки артефакта, и он создаст для вас помп.

0 голосов
/ 27 июля 2012

У меня возникла та же проблема при развертывании проприетарного стороннего фляги в нашем внутреннем репозитории через ssh. Я закончил с помощью небольшого Ant-скрипта и чувствовал, что это безопаснее, чем возиться с classpath Maven.

<?xml version="1.0"?>
<project name="Maven Deploy" xmlns:artifact="antlib:org.apache.maven.artifact.ant">

  <property name="repository.id"  value="myrepository"/>
  <property name="repository.url" value="sftp://dev.example.com/var/www/mvn"/>

  <target name="init">
    <mkdir dir="target/lib"/>
    <get src="http://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar" dest="target/lib" skipexisting="true"/>
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpath="target/lib/maven-ant-tasks-2.1.3.jar"/>

    <artifact:install-provider artifactId="wagon-ssh" version="2.2"/>
  </target>

  <target name="deploy" depends="init">

    <echo>Deploy a jar to the Maven repository:</echo>
    <input addproperty="groupId"    message="groupId:"/>
    <input addproperty="artifactId" message="artifactId:"/>
    <input addproperty="version"    message="version:"/>
    <input addproperty="file"       message="file:" defaultvalue="${artifactId}-${version}.jar"/>

    <artifact:mvn failonerror="true">
      <arg value="org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file"/>
      <arg value="-DgroupId=${groupId}"/>
      <arg value="-DartifactId=${artifactId}"/>
      <arg value="-Dversion=${version}"/>
      <arg value="-Durl=${repository.url}"/>
      <arg value="-DrepositoryId=${repository.id}"/>
      <arg value="-Dfile=${file}"/>
    </artifact:mvn>

  </target>

</project>

Просто введите ant deploy и укажите groupId, artifactId и версию вашего файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...