gpt4 book ai didi

java - 如何在另一个应用程序中使用一个应用程序中的 Java 类?

转载 作者:行者123 更新时间:2023-12-02 01:19:01 26 4
gpt4 key购买 nike

我在应用程序中有一个类(它是一个 Spring Boot 项目),例如:

package com.exemple.spring.springboot.model;

public class Employee {
...
}

在 pom.xml 中我有这个:

<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<groupId>com.exemple.spring</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>

...

现在我想在另一个应用程序中使用此类 Employee,如下所示:

package com.exe.spring.controller;

import org.springframework.stereotype.Controller;
import com.exemple.spring.springboot.model.Employee;


@Controller
public class EmployeeController {

public Employee getAnEmployee() {
...
}
}

我已经使用 mvn clean install 为第一个应用程序构建了 JAR,并将其添加到第二个应用程序的 pom.xml 中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<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>com.exe.spring</groupId>
<artifactId>rest-client</artifactId>
<version>1.0-SNAPSHOT</version>
<name>rest-client</name>
<description>Demo project for Spring Boot</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>com.exemple.spring</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

</dependencies>

问题是我无法在 EmployeeController 类中导入 Employee 类。我已经像这样手动导入它 import com.exemple.spring.springboot.model.Employee;,但 Intellij 向我显示错误:无法解析符号“springboot”。我看到依赖项出现在本地存储库中。这很奇怪,因为 Eclipse 没有看到任何要为 Employee 导入的内容,而 Intellij 看到了该类,但是当我尝试单击“导入类”时,它没有导入任何内容。我该怎么做才能正确导入它?谢谢!

最佳答案

您不能直接将其添加为依赖项,它必须存在于 certral/本地/远程存储库之一中。

您需要将 jar 添加到存储库,例如本地存储库,

mvn install:install-file -DlocalRepositoryPath=repo -DcreateChecksum=true -Dpackaging=jar -Dfile=[your-jar] -DgroupId=[...] -DartifactId=[...] -Dversion=[...]

然后将存储库添加为,

<repository>
<id>repo</id>
<url>file://${project.basedir}/repo</url>
</repository>

检查其他选项 here

关于java - 如何在另一个应用程序中使用一个应用程序中的 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57638552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com