使用来自 Maven 本地依赖项的类 - 我错过了什么? [英] Using classes from Maven local dependency - what am I missing?

查看:75
本文介绍了使用来自 Maven 本地依赖项的类 - 我错过了什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个名为 Auth 的服务:

I have a service called Auth:

<groupId>rcs.auth</groupId>
<artifactId>Auth</artifactId>
<version>1.0-SNAPSHOT</version>

我有一个名为 ImageRepo 的服务,它使用 Auth.这是 ImageRepo 的 pom:

And I have a service called ImageRepo that uses Auth. This is ImageRepo's pom:

<dependencies>
    <dependency>
        <groupId>rcs.auth</groupId>
        <artifactId>Auth</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    ...
<dependencies>

它解决了,找到了依赖.但是当我尝试从 rcs.auth 导入类时,找不到任何类.我错过了什么?

It resolves, the dependency is found. But when I try to import classes from rcs.auth, none can be found. What am I missing?

这里是Auth制作的jar的内容.我想用粗体显示的类.

Here are the contents of the jar produced by Auth. The class I want to use it in bold.

META-INF/
META-INF/MANIFEST.MF
org/
org/springframework/
org/springframework/boot/
org/springframework/boot/loader/
org/springframework/boot/loader/PropertiesLauncher.class
org/springframework/boot/loader/jar/
org/springframework/boot/loader/jar/JarFileEntries$1.class
org/springframework/boot/loader/jar/JarFile$2.class
org/springframework/boot/loader/jar/ZipInflaterInputStream.class
org/springframework/boot/loader/jar/FileHeader.class
org/springframework/boot/loader/jar/CentralDirectoryEndRecord$Zip64Locator.class
org/springframework/boot/loader/archive/
org/springframework/boot/loader/archive/ExplodedArchive$FileEntryIterator$EntryComparator.class
org/springframework/boot/loader/archive/Archive$EntryFilter.class
org/springframework/boot/loader/data/
org/springframework/boot/loader/data/RandomAccessDataFile.class
org/springframework/boot/loader/jar/JarFile.class
org/springframework/boot/loader/jar/JarFileEntries$EntryIterator.class
org/springframework/boot/loader/jar/CentralDirectoryEndRecord$1.class
org/springframework/boot/loader/jar/CentralDirectoryEndRecord.class
org/springframework/boot/loader/archive/ExplodedArchive$FileEntry.class
org/springframework/boot/loader/archive/JarFileArchive$JarFileEntry.class
org/springframework/boot/loader/archive/JarFileArchive.class
org/springframework/boot/loader/util/
org/springframework/boot/loader/util/SystemPropertyUtils.class
org/springframework/boot/loader/data/RandomAccessDataFile$FileAccess.class
org/springframework/boot/loader/jar/JarURLConnection$1.class
org/springframework/boot/loader/jar/JarURLConnection.class
org/springframework/boot/loader/jar/CentralDirectoryFileHeader.class
org/springframework/boot/loader/PropertiesLauncher$PrefixMatchingArchiveFilter.class
org/springframework/boot/loader/ExecutableArchiveLauncher.class
org/springframework/boot/loader/archive/ExplodedArchive$FileEntryIterator.class
org/springframework/boot/loader/data/RandomAccessDataFile$DataInputStream.class
org/springframework/boot/loader/jar/StringSequence.class
org/springframework/boot/loader/jar/JarEntryFilter.class
org/springframework/boot/loader/jar/CentralDirectoryEndRecord$Zip64End.class
org/springframework/boot/loader/LaunchedURLClassLoader.class
org/springframework/boot/loader/archive/ExplodedArchive.class
org/springframework/boot/loader/MainMethodRunner.class
org/springframework/boot/loader/data/RandomAccessDataFile$1.class
org/springframework/boot/loader/jar/JarURLConnection$CloseAction.class
org/springframework/boot/loader/jar/JarURLConnection$JarEntryName.class
org/springframework/boot/loader/jar/JarFile$1.class
org/springframework/boot/loader/jar/Bytes.class
org/springframework/boot/loader/JarLauncher.class
org/springframework/boot/loader/archive/JarFileArchive$EntryIterator.class
org/springframework/boot/loader/data/RandomAccessData.class
org/springframework/boot/loader/jar/CentralDirectoryVisitor.class
org/springframework/boot/loader/jar/Handler.class
org/springframework/boot/loader/jar/JarURLConnection$2.class
org/springframework/boot/loader/LaunchedURLClassLoader$UseFastConnectionExceptionsEnumeration.class
org/springframework/boot/loader/PropertiesLauncher$ArchiveEntryFilter.class
org/springframework/boot/loader/archive/ExplodedArchive$1.class
org/springframework/boot/loader/archive/Archive$Entry.class
org/springframework/boot/loader/jar/JarFile$JarFileType.class
org/springframework/boot/loader/jar/AsciiBytes.class
org/springframework/boot/loader/PropertiesLauncher$1.class
org/springframework/boot/loader/archive/Archive.class
org/springframework/boot/loader/jar/CentralDirectoryParser.class
org/springframework/boot/loader/jar/JarFileEntries.class
org/springframework/boot/loader/jar/JarEntry.class
org/springframework/boot/loader/Launcher.class
org/springframework/boot/loader/WarLauncher.class
BOOT-INF/
BOOT-INF/classes/
BOOT-INF/classes/rcs/
BOOT-INF/classes/rcs/auth/
BOOT-INF/classes/rcs/auth/security/
BOOT-INF/classes/rcs/auth/services/
BOOT-INF/classes/rcs/auth/models/
BOOT-INF/classes/rcs/auth/models/db/
BOOT-INF/classes/rcs/auth/models/api/
BOOT-INF/classes/rcs/auth/repositories/
BOOT-INF/classes/rcs/auth/controllers/
BOOT-INF/classes/rcs/auth/config/
BOOT-INF/classes/rcs/auth/apis/
BOOT-INF/classes/rcs/auth/utils/
BOOT-INF/classes/rcs/auth/exceptions/
META-INF/maven/
META-INF/maven/rcs.auth/
META-INF/maven/rcs.auth/Auth/
BOOT-INF/classes/rcs/auth/security/RestAuthenticationEntryPoint.class
BOOT-INF/classes/rcs/auth/models/db/UserCredentials.class
BOOT-INF/classes/rcs/auth/security/EndpointSecurity.class
BOOT-INF/classes/rcs/auth/models/db/UserCredentials$Fields.class
BOOT-INF/classes/rcs/auth/models/db/UserAuthority.class
BOOT-INF/classes/rcs/auth/models/api/LoginCredentials.class
BOOT-INF/classes/rcs/auth/models/api/UpdatePasswordRequest.class
BOOT-INF/classes/rcs/auth/models/api/AuthenticatedUser.class
BOOT-INF/classes/rcs/auth/models/api/UpdateAuthorityRequest.class
BOOT-INF/classes/rcs/auth/repositories/UserCredentialsRepository.class
BOOT-INF/classes/rcs/auth/repositories/UserCredentialsRepositoryImpl.class
BOOT-INF/classes/rcs/auth/repositories/UserCredentialsRepositoryCustom.class
BOOT-INF/classes/rcs/auth/controllers/AuthController.class
BOOT-INF/classes/rcs/auth/config/DataSourceConfig.class
BOOT-INF/classes/rcs/auth/config/WebSecurityConfig.class
BOOT-INF/classes/rcs/auth/config/AuthConfig.class
BOOT-INF/classes/rcs/auth/config/SpringFoxConfig.class
BOOT-INF/classes/rcs/auth/apis/AuthService.class
BOOT-INF/classes/rcs/auth/utils/AuthUtils.class
BOOT-INF/classes/rcs/auth/exceptions/UsernameAlreadyExistsException.class
BOOT-INF/classes/rcs/auth/exceptions/UnauthorizedException.class
BOOT-INF/classes/rcs/auth/exceptions/FailedToUpdateUserException.class
BOOT-INF/classes/rcs/auth/exceptions/UsernameNotFoundException.class
BOOT-INF/classes/application.properties
BOOT-INF/classes/schema.sql
META-INF/maven/rcs.auth/Auth/pom.xml
META-INF/maven/rcs.auth/Auth/pom.properties
BOOT-INF/classes/rcs/auth/services/UserCredentialsService.class
BOOT-INF/classes/rcs/auth/AuthApplication.class
BOOT-INF/lib/
BOOT-INF/lib/springfox-swagger2-2.9.2.jar
BOOT-INF/lib/swagger-annotations-1.5.20.jar
BOOT-INF/lib/swagger-models-1.5.20.jar
BOOT-INF/lib/jackson-annotations-2.10.2.jar
BOOT-INF/lib/springfox-spi-2.9.2.jar
BOOT-INF/lib/springfox-core-2.9.2.jar
BOOT-INF/lib/springfox-schema-2.9.2.jar
BOOT-INF/lib/springfox-swagger-common-2.9.2.jar
BOOT-INF/lib/springfox-spring-web-2.9.2.jar
BOOT-INF/lib/classmate-1.5.1.jar
BOOT-INF/lib/slf4j-api-1.7.30.jar
BOOT-INF/lib/spring-plugin-core-1.2.0.RELEASE.jar
BOOT-INF/lib/spring-beans-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-context-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-plugin-metadata-1.2.0.RELEASE.jar
BOOT-INF/lib/mapstruct-1.2.0.Final.jar
BOOT-INF/lib/springfox-swagger-ui-2.9.2.jar
BOOT-INF/lib/lombok-1.18.10.jar
BOOT-INF/lib/spring-boot-starter-thymeleaf-2.2.2.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-2.2.3.RELEASE.jar
BOOT-INF/lib/spring-boot-2.2.3.RELEASE.jar
BOOT-INF/lib/spring-boot-autoconfigure-2.2.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-logging-2.2.3.RELEASE.jar
BOOT-INF/lib/logback-classic-1.2.3.jar
BOOT-INF/lib/logback-core-1.2.3.jar
BOOT-INF/lib/log4j-to-slf4j-2.12.1.jar
BOOT-INF/lib/log4j-api-2.12.1.jar
BOOT-INF/lib/jul-to-slf4j-1.7.30.jar
BOOT-INF/lib/jakarta.annotation-api-1.3.5.jar
BOOT-INF/lib/snakeyaml-1.25.jar
BOOT-INF/lib/thymeleaf-spring5-3.0.11.RELEASE.jar
BOOT-INF/lib/thymeleaf-3.0.11.RELEASE.jar
BOOT-INF/lib/attoparser-2.0.5.RELEASE.jar
BOOT-INF/lib/unbescape-1.1.6.RELEASE.jar
BOOT-INF/lib/thymeleaf-extras-java8time-3.0.4.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-web-2.2.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-json-2.2.3.RELEASE.jar
BOOT-INF/lib/jackson-databind-2.10.2.jar
BOOT-INF/lib/jackson-core-2.10.2.jar
BOOT-INF/lib/jackson-datatype-jdk8-2.10.2.jar
BOOT-INF/lib/jackson-datatype-jsr310-2.10.2.jar
BOOT-INF/lib/jackson-module-parameter-names-2.10.2.jar
BOOT-INF/lib/spring-boot-starter-tomcat-2.2.3.RELEASE.jar
BOOT-INF/lib/tomcat-embed-core-9.0.30.jar
BOOT-INF/lib/tomcat-embed-el-9.0.30.jar
BOOT-INF/lib/tomcat-embed-websocket-9.0.30.jar
BOOT-INF/lib/spring-boot-starter-validation-2.2.3.RELEASE.jar
BOOT-INF/lib/jakarta.validation-api-2.0.2.jar
BOOT-INF/lib/hibernate-validator-6.0.18.Final.jar
BOOT-INF/lib/spring-web-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-webmvc-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-expression-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-security-2.2.2.RELEASE.jar
BOOT-INF/lib/spring-aop-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-security-config-5.2.1.RELEASE.jar
BOOT-INF/lib/spring-security-web-5.2.1.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-data-jpa-2.2.3.RELEASE.jar
BOOT-INF/lib/spring-boot-starter-aop-2.2.3.RELEASE.jar
BOOT-INF/lib/aspectjweaver-1.9.5.jar
BOOT-INF/lib/spring-boot-starter-jdbc-2.2.3.RELEASE.jar
BOOT-INF/lib/HikariCP-3.4.2.jar
BOOT-INF/lib/spring-jdbc-5.2.3.RELEASE.jar
BOOT-INF/lib/jakarta.activation-api-1.2.1.jar
BOOT-INF/lib/jakarta.persistence-api-2.2.3.jar
BOOT-INF/lib/jakarta.transaction-api-1.3.3.jar
BOOT-INF/lib/hibernate-core-5.4.10.Final.jar
BOOT-INF/lib/jboss-logging-3.4.1.Final.jar
BOOT-INF/lib/javassist-3.24.0-GA.jar
BOOT-INF/lib/byte-buddy-1.10.6.jar
BOOT-INF/lib/antlr-2.7.7.jar
BOOT-INF/lib/jandex-2.1.1.Final.jar
BOOT-INF/lib/dom4j-2.1.1.jar
BOOT-INF/lib/hibernate-commons-annotations-5.1.0.Final.jar
BOOT-INF/lib/jaxb-runtime-2.3.2.jar
BOOT-INF/lib/txw2-2.3.2.jar
BOOT-INF/lib/istack-commons-runtime-3.0.8.jar
BOOT-INF/lib/stax-ex-1.8.1.jar
BOOT-INF/lib/FastInfoset-1.2.16.jar
BOOT-INF/lib/spring-data-jpa-2.2.4.RELEASE.jar
BOOT-INF/lib/spring-data-commons-2.2.4.RELEASE.jar
BOOT-INF/lib/spring-orm-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-tx-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-aspects-5.2.3.RELEASE.jar
BOOT-INF/lib/mysql-connector-java-8.0.19.jar
BOOT-INF/lib/guava-28.2-jre.jar
BOOT-INF/lib/failureaccess-1.0.1.jar
BOOT-INF/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
BOOT-INF/lib/jsr305-3.0.2.jar
BOOT-INF/lib/checker-qual-2.10.0.jar
BOOT-INF/lib/error_prone_annotations-2.3.4.jar
BOOT-INF/lib/j2objc-annotations-1.3.jar
BOOT-INF/lib/spring-security-core-5.2.1.RELEASE.jar
BOOT-INF/lib/spring-core-5.2.3.RELEASE.jar
BOOT-INF/lib/spring-jcl-5.2.3.RELEASE.jar
BOOT-INF/lib/jakarta.xml.bind-api-2.3.2.jar

我想使用的类是:BOOT-INF/classes/rcs/auth/utils/AuthUtils.class

The class I want to use is: BOOT-INF/classes/rcs/auth/utils/AuthUtils.class

已修复

我将此添加到 Auth 的 pom 中:

I added this to Auth's pom:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.2.3.RELEASE</version>
    <configuration>
        <classifier>exec</classifier>
    </configuration>
</plugin>

但现在我遇到了一个不同的问题……所有 Auth 的类都可用于 ImageRepo.我不希望那样,我只希望某些类/包是公开的.我怎样才能做到这一点?

But now I have a different problem... ALL of Auth's classes are available to ImageRepo. I don't want that, I only want certain classes/packages to be public. How can I accomplish that?

推荐答案

您不能使用 Spring Boot 应用程序作为依赖项.

You cannot use a Spring Boot app as dependency.

如果您需要库 JAR,请构建一个简单的 JAR,而不是 Spring Boot 应用程序.

If you need a library JAR, build a simple JAR, not Spring Boot app.

这篇关于使用来自 Maven 本地依赖项的类 - 我错过了什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆