如何导入本地 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