Maven / Spring私有存储库设置

时间:2016-05-16 18:38:57

标签: java spring maven spring-boot

我和我的团队对java方面都很陌生。 我们创建了一个使用spring框架的新休息服务。 我们正在尝试使构建自动化。

我们有自己的回购,我们想去寻找依赖。 我们将所有第三方依赖项放在此repo中,并希望构建在搜索依赖项时查看此repo。

我们的pom.xml看起来像这样。

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>com.squareup.retrofit</groupId>
        <artifactId>retrofit</artifactId>
        <version>1.9.0</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>       

</dependencies>

对于这些春天依赖,我们需要的所有罐子是什么? 我如何找到我们的回购中应该有哪些罐子才能建立我们的项目?

2 个答案:

答案 0 :(得分:0)

您需要指定要在pom文件中使用的存储库。作为一个例子,我们使用Nexus存储库,我们需要放置其他罐子。它还充当对中央存储库的缓存,因此我们不需要明确包含来自那里的所有jar。

你的pom.xml文件中需要这样的东西:

<!-- location for other artifact uploads -->
<repositories>
    <repository>
        <id>YourRepositoryId</id>
        <url>http://yourrepo.com/nexus/content/repositories/thirdparty/</url>
    </repository>
</repositories>

然后您的构建自动化将需要一种方法来指定用户和密码。在常规的Maven设置中,您将使用您的用户settings.xml文件,并在此处填充它。不同的自动构建系统可能会采用不同的方式,因此您需要查看您的Maven设置从何处获取。

 <!-- This exists so that environments without a user can still access the repository. -->
<settings>
<servers>
    <server>
        <id>YourRepositoryId</id>
        <username>yourUserName</username>
        <password>yourPassword</password>
    </server>
</servers>
</settings> 

关于确定要使用的jar文件,Maven Dependency Plugin是分析工作版本以查看所包含内容的好工具。

希望这有帮助,但如果不随意提出任何问题。

答案 1 :(得分:0)

您可以尝试这样的事情:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>${maven-dependency-plugin.version}</version>
    <executions>
        <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
        </execution>
    </executions>
</plugin>

这是Apache Maven Dependency Plugin

的一部分

如果您还想获得消息来源:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>${maven-dependency-plugin.version}</version>
    <executions>
        <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
        </execution>
        <execution>
            <id>sources</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <classifier>sources</classifier>
                <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
        </execution>
    </executions>
</plugin>

查看alternateLocation文件夹。当然,您可以将该文件夹更改为您的首选位置。