如何导入本地 Java 依赖?
How import local Java dependency?
我有两个maven项目,一个依赖另一个,但是我不能从那个项目导入类,我只得到package does not exist
。我尝试了 here 建议的解决方案,但 none 的建议解决方案似乎有效。
设置:
spring-2.5.5/bin/spring init -a foo -g com -n Foo foo
spring-2.5.5/bin/spring init -a bar -g com -n Bar bar
cat << EOF > foo/src/main/java/com/foo/FooComponent.java
package com.foo;
public class FooComponent {}
EOF
sed -i 's/\(package.*\)/\nimport com.foo.FooComponent;/g' bar/src/main/java/com/bar/BarApplication.java
sed -i 's/\(<dependencies.*\)/\n<dependency><groupId>com<\/groupId><artifactId>foo<\/artifactId><version>0.0.1-SNAPSHOT<\/version><\/dependency>\n/g' bar/pom.xml
mvn -f foo install -DskipTests
mvn -f bar compile
foo
成功安装到 ~/.m2/repository
,而 bar
失败
bar/src/main/java/com/bar/BarController.java:[3,15] package com.foo does not exist
有什么想法吗?或者我可能遗漏了一些设置中的缺陷...谢谢。
我接受了@khmarbaise 的指示,即来自 mvn install
的打包可能不够,并找到了解决方案 here,即将以下内容添加到依赖项的 pom:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>repackage</id>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
那么我们可以这样做:
mvn -f foo install spring-boot:repackage
mvn -f bar compile
找到包 com.foo
。
我有两个maven项目,一个依赖另一个,但是我不能从那个项目导入类,我只得到package does not exist
。我尝试了 here 建议的解决方案,但 none 的建议解决方案似乎有效。
设置:
spring-2.5.5/bin/spring init -a foo -g com -n Foo foo
spring-2.5.5/bin/spring init -a bar -g com -n Bar bar
cat << EOF > foo/src/main/java/com/foo/FooComponent.java
package com.foo;
public class FooComponent {}
EOF
sed -i 's/\(package.*\)/\nimport com.foo.FooComponent;/g' bar/src/main/java/com/bar/BarApplication.java
sed -i 's/\(<dependencies.*\)/\n<dependency><groupId>com<\/groupId><artifactId>foo<\/artifactId><version>0.0.1-SNAPSHOT<\/version><\/dependency>\n/g' bar/pom.xml
mvn -f foo install -DskipTests
mvn -f bar compile
foo
成功安装到 ~/.m2/repository
,而 bar
失败
bar/src/main/java/com/bar/BarController.java:[3,15] package com.foo does not exist
有什么想法吗?或者我可能遗漏了一些设置中的缺陷...谢谢。
我接受了@khmarbaise 的指示,即来自 mvn install
的打包可能不够,并找到了解决方案 here,即将以下内容添加到依赖项的 pom:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>repackage</id>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
那么我们可以这样做:
mvn -f foo install spring-boot:repackage
mvn -f bar compile
找到包 com.foo
。