首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在依赖项中使用具有不同文件名的artifactId

如何在依赖项中使用具有不同文件名的artifactId
EN

Stack Overflow用户
提问于 2011-12-06 13:05:36
回答 1查看 4.2K关注 0票数 2

使用Artifactory和Maven,如何引用具有正确组/artifactId/version的依赖项,却使用与artifactId-version.end样式不同的文件名?

问题在于不能重命名的dll,以及强制吗?艺术命名惯例。

编辑

为这个特定的问题找到了一种可能的昂贵方法,即文件名不能包含破折号:创建一个需要支持版本的新的Artifactory存储库布局--因此不幸的是,这不是一个选项!

部分解用于jUnit测试

使用maven依赖插件和maven-照管插件可以使jUnits工作。不幸的是,它不能解决在war中部署到服务器时找不到特定sapjco3.dll的问题。

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <id>copy</id>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>sapjco</groupId>
                                <artifactId>sapjco3</artifactId>
                                <version>3.0.7</version>
                                <type>dll</type>
                                <classifier>win32</classifier>
                                <overWrite>true</overWrite>
                                <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                        <stripVersion>true</stripVersion>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <systemProperties>
                    <property>
                        <name>java.library.path</name>
                        <value>${project.build.directory}/lib</value>
                    </property>
                </systemProperties>
            </configuration>
        </plugin>
    </plugins>
</build>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-06 13:55:51

Maven不关心文件名,而是关心它们的坐标。正确地将DLL添加到远程回购中,maven将完成其余的操作。依赖关系片段可能是:

代码语言:javascript
复制
<dependency>
  <groupId>com.company</groupId>
  <artifactId>my.artifact</atifactId>
  <version>1.0</version>
  <type>dll</type>
  <classifier>win32</classifier>
</dependency>

完成此操作后,请使用dependency:copy-dependenciesdependency:copy在构建时更改文件名。

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

https://stackoverflow.com/questions/8400369

复制
相关文章

相似问题

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