首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析Java中不同模块的类(Intellij)

无法解析Java中不同模块的类(Intellij)
EN

Stack Overflow用户
提问于 2019-11-02 21:52:14
回答 2查看 77关注 0票数 0

我以以下方式构建了UI测试自动化方案:

  • (父模块) uiTestAutomation
  • (子模块)ui-实用程序
  • (子模块)ui域
  • (子模块)ui-测试

我希望ui-实用程序的类能够在ui-域和ui-测试中使用,也希望ui-域的类能够用于ui-测试。

下面是我的pom.xml文件的样子:

父级pom.xml:

代码语言:javascript
复制
<?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>uiTestAutomation</groupId>
    <artifactId>uiTestAutomation</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>ui-utilities</module>
        <module>ui-tests</module>
        <module>ui-domain</module>
    </modules>

</project>

ui-实用程序pom.xml:

代码语言:javascript
复制
<?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">
    <parent>
        <artifactId>uiTestAutomation</artifactId>
        <groupId>uiTestAutomation</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>ui-utilities</artifactId>
    <groupId>ui-utilities</groupId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <modules>
        <module>../ui-domain</module>
        <module>../ui-tests</module>
    </modules>
</project>

用户界面-域pom.xml:

代码语言:javascript
复制
<?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">
    <parent>
        <artifactId>uiTestAutomation</artifactId>
        <groupId>uiTestAutomation</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>ui-domain</artifactId>
    <groupId>ui-domain</groupId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
      <module>../ui-tests</module>
    </modules>

    <dependencies>
        <dependency>
            <groupId>ui-utilities</groupId>
            <artifactId>ui-utilities</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

ui-测试pom.xml:

代码语言:javascript
复制
<?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">
    <parent>
        <artifactId>uiTestAutomation</artifactId>
        <groupId>uiTestAutomation</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>ui-tests</artifactId>
    <groupId>ui-tests</groupId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>ui-utilities</groupId>
            <artifactId>ui-utilities</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>ui-domain</groupId>
            <artifactId>ui-domain</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

ui实用程序中有BasePage类,我想在ui域中创建一个名为LoginPage的类,它应该继承BasePage。但是,我收到一个错误,它说:

无法解析符号BasePage

我在pom.xml文件中的依赖项方面做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-02 22:20:21

您有一个非常不寻常的pom.xml结构,<modules>指向整个地方。父pom.xml看起来是正确的,但是您不应该在子模块中使用<modules>,除非他们有自己的子模块。

  1. 从所有子模块中删除<modules>部分,并使用<dependencies>来表示模块之间的关系。
  2. 不更改子模块中的<groupId>,这是没有意义的。最好是他们从<parent>继承这一点,并且您可以简单地省略子模块中的<groupId>标记。
票数 0
EN

Stack Overflow用户

发布于 2019-11-04 09:58:25

我再次尝试从头开始创建这个项目。原来,当从父模块创建子模块时(右键单击,添加新模块),intellij将父模块自动设置为子模块,最早是在定义artifactId、groupId的第一次弹出时。pom文件基本上是相同的,mvn干净安装对父模块和分离子模块都是无缝工作的。现在LoginPage可以成功地扩展BasePage。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58675619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档