使用Maven POM文件安装OJDBC7

时间:2018-07-18 18:59:29

标签: eclipse maven spring-mvc

我有一个项目A,在其中创建了一个名为lib的文件夹以在其中添加库。目前,我在此文件夹中有Ojdb7.jar。现在,当我在POM文件中添加ojdbc7的依赖项时,出现错误“缺少工件”。 我知道可以使用以下选项进行安装: $ mvn install:install-file -Dfile = {路径/到/你的/ojdbc7.jar}       -DgroupId = com.oracle -DartifactId = ojdbc7 -Dversion = 12.1.0 -Dpackaging = jar 并且当我运行命令时它工作正常,但我要从cmd运行mvn package命令(将项目打包到jar文件之前,mvn packge将运行install)。我尝试了下面的pom文件,但出现错误,找不到在存储库标记

中指定的路径的工件
<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd“>     4.0.0

<groupId>com.example</groupId>
<artifactId>DarAppDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>DarAppDemo</name>
<description>Demo project for Spring Boot</description>

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

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>

<repositories>
    <repository>
        <id>demo-local-repo</id>
        <name>demo-lib</name>
        <url>file:\\${project.basedir}\lib</url>
    </repository>
</repositories>


<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!--dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>            
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0</version>
    </dependency>
    <!--dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>test</scope>            
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

我找到了一个解决方案,方法是添加一个插件来构建标记

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <executions>
                <execution>
                    <id>install-ojdbc-jar</id>
                    <phase>validate</phase>
                    <configuration>
                        <file>${project.basedir}/ojdbc7.jar</file>
                        <repositoryLayout>default</repositoryLayout>
                        <groupId>com.oracle</groupId>
                        <artifactId>ojdbc7</artifactId>
                        <version>12.1.0</version>
                        <packaging>jar</packaging>
                        <generatePom>true</generatePom>
                    </configuration>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

但是我的问题是我不想硬编码此路径$ {project.basedir} /ojdbc7.jar 因为我在詹金斯(Jenkins)上运行它,但失败了。任何帮助深表感谢。 谢谢

**添加屏幕截图 enter image description here

这里是日食问题的另一个镜头: enter image description here

0 个答案:

没有答案