24

pomファイルで依存関係ライブラリについて説明しましたが、ライブラリシステムパスも存在しますが、maven clean install -e -Xを使用したコンパイル中に、パッケージが存在しないというエラーがスローされます。

**[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/gopc/workspace/RestfulService/src/restfu/Hello.java:[4,19] C:\Users\gopc\workspace\RestfulService\src\restfu\Hello.java:4: package javax.ws.rs does not exist
[ERROR] /C:/Users/gopc/workspace/RestfulService/src/restfu/Hello.java:[5,19] C:\Users\gopc\workspace\RestfulService\src\restfu\Hello.java:5: package javax.ws.rs does not exist
[ERROR] /C:/Users/gopc/workspace/RestfulService/src/restfu/Hello.java:[6,19] C:\Users\gopc\workspace\RestfulService\src\restfu\Hello.java:6: package javax.ws.rs does not exist
[ERROR] /C:/Users/gopc/workspace/RestfulService/src/restfu/Hello.java:[8,1] C:\Users\gopc\workspace\RestfulService\src\restfu\Hello.java:8: package javax.ws.rs.core does not exist
[ERROR] /C:/Users/gopc/workspace/RestfulService/src/restfu/Hello.java:[21,2] C:\Users\gopc\workspace\RestfulService\src\restfu\Hello.java:21: cannot find symbol
symbol: class Path**

POMファイル

<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>RestfulService</groupId>
  <artifactId>RestfulService</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>${basedir}/src</sourceDirectory>
    <outputDirectory>${basedir}/build/classes</outputDirectory>
  <pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
</pluginManagement>

</build>

<dependencyManagement>
<dependencies>

  <dependency>
    <groupId>jersey-server</groupId>
    <artifactId>jersey-server</artifactId>
    <version>1.4</version>
    <scope>compile</scope>
    <systemPath>${basedir}/lib/jersey-server-1.4.jar</systemPath>
  </dependency>

<dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs</artifactId>
        <version>1.4</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/javax.ws.rs.jar</systemPath>
</dependency>
</dependencies>
</dependencyManagement>
</project>
4

8 に答える 8

40

providedスコープを使用して、Java EEの依存関係をPOMに含める必要があります(つまり、ファイルは最終的にアプリケーションサーバーによって提供されますが、それまでの間、コンパイルに必要です)。

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>
于 2013-01-07T03:43:29.697 に答える
8

システムの更新後、NetBeansがフォントを変更したとき、およびGUI全般で、これと同様の問題が発生しました。Java EE 6 API LibraryNetBeans IDEに追加して、この問題を解決しました。

myProject->Properties->Libraries->Add Library

于 2013-06-12T11:58:27.170 に答える
4

この依存関係の方が良いと思います

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>jsr311-api</artifactId>
    <version>1.1.1</version>
</dependency>
于 2016-04-13T09:28:22.293 に答える
4

@Perceptionが応答した依存関係も必要ですが、私にとっても十分ではありませんでした。次の依存関係も必要でした。

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.0</version>
</dependency>

https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api/2.0

彼は私のために問題を修正しました!

于 2018-04-17T14:43:05.137 に答える
2

ジャージーはjava.netリポジトリで公開されています。これを使用するだけです(またはユーザーsettings.xmlをより適切に編集します):

<repositories>
    <repository>
        <id>maven2-repository.java.net</id>
        <name>Java.net Repository for Maven</name>
        <url>http://download.java.net/maven/2/</url>
        <layout>default</layout>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>
</dependencies>

JSR311(javax.ws.rs)は、ジャージコアの依存関係としてMavenによって自動的にダウンロードされます。

于 2013-01-07T03:43:42.660 に答える
2

<project>依存関係の管理ではなく、タグの間に依存関係を追加することで問題を解決しました。

于 2013-01-07T06:50:20.943 に答える
0

私の場合、mvn clean installは正常に機能しましたが、機能しなかったのはIntelliJの「make」でした。これを解決する方法は、「プロジェクト構造」->「モジュール」タブから2つの誤った「モジュール」を削除することです。モジュールはメインとテストでした。どういうわけか、彼らは「既存のソースからプロジェクトを作成する」からそこに入りました。

于 2017-12-23T22:46:40.493 に答える
0

私はこのエラーに遭遇しました、私にとっての解決策はこの両方の依存関係を持つことでした:

<dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
</dependency>

<dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
</dependency>
于 2019-11-15T21:16:11.053 に答える