Tôi có một Dự án được gọi là Cha mẹ. Kiểu của nó là POM. Có một thư viện (ojdbc6.jar
) mà không có sẵn trong kho lưu trữ công cộng vì vậy tôi đang truy cập nó qua <SystemPath>
như bạn có thể nhìn thấy trong dưới pom.xml
:Không thể truy cập thư viện dự án mẹ (jar) trong mô-đun con - Maven
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.Parent</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>childModule</module>
</modules>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>6</version>
<scope>system</scope>
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath>
</dependency>
</dependencies>
<repositories>
<repository>
<id>in-project</id>
<name>In Project Repo</name>
<url>file://${basedir}/lib</url>
</repository>
</repositories>
Bây giờ tên dự án con là Child-Module1 và Child-module2 sử dụng này (ojdbc6.jar
) thư viện Đó là POM được đề cập dưới đây:
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>testApp</artifactId>
<version>1.14.5.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>APP1</name>
<description>Application</description>
<parent>
<groupId>com.Parent</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
</project>
Khi tôi xây dựng bằng Maven, nó cho tôi lỗi:
Description Resource Path Location Type
The container 'Maven Dependencies' references non existing library
'C:\Users\ABCCOMPUTER_NAME\.m2\repository\com\oracle\ojdbc\6\ojdbc-6.jar'
testApp Build path Problem.
Tại sao nó trông trong kho lưu trữ cục bộ? Nó chỉ xảy ra khi dự án mẹ chứa một thư viện (jar
) có chứa đường dẫn hệ thống. Nó không xảy ra khi truy cập thư viện đường dẫn hệ thống (jar
) trong cùng một dự án, giống như phụ huynh giới thiệu ojdbc6.jar
, nó là tốt ở đó.
Bình nằm ở đâu so với trẻ em? Thuộc tính basedir có giá trị khác nhau trong parent và children. –
Jar nằm trong thư mục lib liên quan đến dự án cha mẹ và maven trasfer jars phụ thuộc vào module của nó. Tôi giả định maven chuyển đổi tương đối với đường dẫn tuyệt đối khi nó bao gồm jar phụ thuộc vào module con. –