1

I am trying to add jsr80 with maven on eclipse on linux(Lubuntu).

My pom.xml is

<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>Source.Web.java</groupId>
  <artifactId>EjemploMaven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>EjemploMaven</name>
 <dependencies>
<dependency>
       <groupId>jsr80</groupId>
        <artifactId>jsr80</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/jsr80.jar</systemPath>
    </dependency>
   <dependency>
     <groupId>jsr80_ri</groupId>
     <artifactId>jsr80_ri</artifactId>
     <version>1.0</version>
     <scope>system</scope>
     <systemPath>${basedir}/lib/jsr80_ri.jar</systemPath>
   </dependency>
   <dependency>
      <groupId>jsr80_environment</groupId>
      <artifactId>jsr80_environment</artifactId>
      <version>1.0.1</version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/${jsr80.env}</systemPath>
      </dependency>  
   <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.16</version>
      <scope>compile</scope>
      </dependency>
   </dependencies>

I have tried mvn clean, mvn update dependeces ... Log4j it's addes fine

The error message is

Missing artifact jsr80:jsr80:jar:1.0:system
Missing artifact jsr80_ri:jsr80_ri:jar:1.0:system
Missing artifact jsr80_environment:jsr80_environment:jar:1.0.1:system

Thanks

4

1 に答える 1

0

systemPathこの問題は、タグ内の異なる補間規則が原因である可能性があります。

いずれにせよ、最初にアーティファクトを通常の依存関係としてリポジトリにインストールすることをお勧めします。

次に、依存関係をデフォルト (コンパイル) スコープに変更します。

<dependencies>
  <dependency>
    <groupId>jsr80</groupId>
    <artifactId>jsr80</artifactId>
    <version>1.0</version>
  </dependency>
  <dependency>
    <groupId>jsr80_ri</groupId>
    <artifactId>jsr80_ri</artifactId>
    <version>1.0</version>
  </dependency>
  <dependency>
    <groupId>jsr80_environment</groupId>
    <artifactId>jsr80_environment</artifactId>
    <version>1.0.1</version>
  </dependency>
  ...
</dependencies>

このアプローチには、リポジトリを使用して他のユーザーと共有する必要があるという効果があります。一方で、いくつかの理由で有害なコードでバイナリをコミットすることを避けることができます。

于 2012-11-23T22:22:46.663 に答える