首页 > 解决方案 > 如何使用 Maven 从其他项目中调用类

问题描述

我对 Java 还很陌生,我不知道如何使用 Maven 从另一个项目中正确调用类来执行以下操作:

import AnotherProjectClass;

public class Jade {
     public void exampleFunction(){ 

          AnotherProjectClass apc = new AnotherProjectClass();
          apc.smth();
     }
}

我正在使用 NetBeans 并且有三个项目。其中两个是 Web 应用程序(见这里Web 应用程序),主要的一个是 Java 应用程序,全部使用 Maven。

在这两个 Web 应用程序中,我在构建 .war 文件时都使用了 maven-war-plugin 来构建 .jar 文件。按照答案:https ://stackoverflow.com/a/31220514

接下来,我按照以下答案将两个 .jar 文件作为依赖项添加到主 Java 应用程序项目中:https ://stackoverflow.com/a/21340440和https://stackoverflow.com/a/48452297

我可以成功构建主项目,但我不能从其他两个项目中调用任何东西,尽管它们出现在依赖项选项卡中。 来自主项目的依赖项

pom.xml的主项目(maven_tese_lima)是这样的:

<?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.limatese</groupId>
    <artifactId>maven_tese_lima</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>com.tilab.jade</groupId>
            <artifactId>jade</artifactId>
            <version>4.3.3</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>edu.stanford.protege</groupId>
            <artifactId>org.protege.editor.owl.codegeneration</artifactId>
            <version>1.0.2</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.limatese</groupId>
            <artifactId>tese_maven_REST_nextstep</artifactId>
            <version>1.0-SNAPSHOT</version>
            <classifier>classes</classifier>
        </dependency>
        <dependency>
            <groupId>com.limatese</groupId>
            <artifactId>tese_maven_REST_state</artifactId>
            <version>1.0-SNAPSHOT</version>
            <classifier>classes</classifier>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
</project>

标签: javamavennetbeansjarwar

解决方案


推荐阅读