簡體   English   中英

Maven沒有加載對本地工件的依賴

[英]Maven not loading dependency on local artifact

我創建了自己的jar文件,並希望將其作為依賴項連接到另一個項目。 jar內有自己的帶有依賴項的pom文件。 當將jar與系統范圍連接時,我遇到了一個問題-maven不會加載依賴項jar。

也許我在構建jar時忘記了一些插件?

如何從本地jar使Maven加載依賴項?

POM我的Jar文件

<groupId>ru.qa.eso</groupId>
<artifactId>push-qa</artifactId>
<version>0.1.0-alfa</version>
<packaging>jar</packaging>
<name>PushQA</name>

<properties>
    <selenide.version>5.2.3</selenide.version>
    <rest-assured.version>3.3.0</rest-assured.version>
    <cucumber.version>4.2.0</cucumber.version>
    <lombok.version>1.18.4</lombok.version>
    <logback.version>1.3.0-alpha4</logback.version>
    <jul-to-slf4j.version>1.7.25</jul-to-slf4j.version>
    <allure.version>2.9.0</allure.version>
    <maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
    <aspectjweaver.version>1.9.2</aspectjweaver.version>
    <allure-maven.version>2.10.0</allure-maven.version>
    <reflections.version>0.9.11</reflections.version>
    <maven.compiler.targer>1.8</maven.compiler.targer>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>

<dependencies>
    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>selenide</artifactId>
        <version>${selenide.version}</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>${cucumber.version}</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>${cucumber.version}</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
    </dependency>
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>${rest-assured.version}</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${jul-to-slf4j.version}</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-rest-assured</artifactId>
        <version>2.10.0</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-junit4</artifactId>
        <version>${allure.version}</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-cucumber4-jvm</artifactId>
        <version>${allure.version}</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-selenide</artifactId>
        <version>${allure.version}</version>
    </dependency>
    <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${reflections.version}</version>
    </dependency>
    <dependency>
        <groupId>com.github.mifmif</groupId>
        <artifactId>generex</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>LATEST</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>27.1-jre</version>
    </dependency>
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>json-schema-validator</artifactId>
        <version>3.3.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <target>${maven.compiler.targer}</target>
                <source>${maven.compiler.source}</source>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
                <execution>
                    <id>attach-resource-bundle</id>
                    <goals>
                        <goal>resource-bundle</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <encoding>UTF-8</encoding>
                <additionalOptions>-Xdoclint:none</additionalOptions>
                <additionalJOption>-Xdoclint:none</additionalJOption>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar</goal>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <argline>-Dfile.encoding=UTF-8</argline>
            <loggerLevel>INFO</loggerLevel>
            <startOnServer>false</startOnServer>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>server</id>
        <properties>
            <argline>-Dfile.encoding=UTF-8</argline>
            <loggerLevel>DEBUG</loggerLevel>
            <startOnServer>true</startOnServer>
        </properties>
    </profile>
</profiles>

POM我的項目,我想在其中包括我的罐子

<groupId>ru.qa.eso</groupId>
<artifactId>SomeName</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>ru.qa.eso</groupId>
        <artifactId>push-qa</artifactId>
        <version>0.1.0-alfa</version>
    </dependency>
</dependencies>

請使用“ mvn install”或“ mvn clean install”來構建依賴項jar。 然后將該依賴項添加到依賴項目並進行構建,希望它將解決您的問題

您可以嘗試通過將范圍作為依賴項的編譯范圍進行嘗試嗎,如下所示:

 <dependency>
        <groupId>ru.qa.eso</groupId>
        <artifactId>push-qa</artifactId>
        <version>0.1.0-alfa</version>
        <scope>compile</scope>
    </dependency>

請通過以下鏈接獲取有關范圍的更多詳細信息。 依賴范圍

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM