标签: dependency-management

缺少工件com.sun.jdmk:jmxtools:jar:1.2.1

我在Eclipse Indigo下创建了maven-achetype-quickstart的简单项目,然后我去了pom.xml gui编辑器,在依赖项选项卡中log4j通过搜索在相应的对话框中添加了依赖项.现在我的pom.xml看起来像

<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-.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
  <artifactId>Test_Maven_03</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Test_Maven_03</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
    </dependency>
  </dependencies>
  <dependencyManagement>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
    </dependency>
</dependencies>
  </dependencyManagement>
</project>
Run Code Online (Sandbox Code Playgroud)

Eclipse说我的POM有许多问题,比如

缺少工件javax.jms:jms:jar:1.1 pom.xml/Test_Maven_03第2行Maven依赖问题

它是什么意思以及如何看到自动jar下载的maven功能.

编辑1 如果我选择log4j 1.2.16而不是1.2.15,我会收到另一个错误:Missing artifact log4j:log4j:bundle:1.2.16.所以我看不到自动的jar管理.

java eclipse dependency-management pom.xml maven

49
推荐指数
3
解决办法
5万
查看次数

使用Bower更新多个依赖项

我在bower.json文件中和/或用Bower列出(和/或安装)了几个依赖项

bower install https://github.com/username/project.git
Run Code Online (Sandbox Code Playgroud)

这工作得很好.

现在我可以列出所有这些

bower list
Run Code Online (Sandbox Code Playgroud)

然后我可以选择项目的每个依赖项的名称并运行

bower update dependency-name
Run Code Online (Sandbox Code Playgroud)

问题:如何批量更新所有这些内容?或者我是否必须编写一个shell脚本来循环并更新它们?

updates package dependency-management npm bower

49
推荐指数
2
解决办法
4万
查看次数

如何解决NuGet依赖地狱

我开发了一个带有一些功能名称的库,CompanyName.SDK它必须集成在公司项目中CompanyName.SomeSolution

CompanyName.SDK.dll必须通过NuGet包部署.并且CompanyName.SDK包依赖于第三方NuGet包.举个好例子,我们来看看吧Unity.当前的依赖是对v3.5.1405-prereleaseUnity.

CompanyName.SomeSolution.Project1取决于Unity v2.1.505.2. CompanyName.SomeSolution.Project2取决于Unity v3.0.1304.1.

集成CompanyName.SDK到此解决方案中会增加依赖性Unity v3.5.1405-prerelease.我们假设CompanyName.SomeSolution有一个可运行的输出项目CompanyName.SomeSolution.Application,它取决于上面和下面的两个CompanyName.SDK

这里出现了问题.所有Unity程序集在所有包中都具有相同的名称,没有版本说明符 在目标文件夹中,它只是一个版本的Unity程序集:v3.5.1405-prereleasevia bindingRedirectin app.config.

如何代码Project1,Project2SDK使用相关的软件包,他们进行编码,编译和测试用的确切需要的版本?

注1: Unity只是一个例子,第三方模块依赖于另一个第三方模块,实际情况要差10倍,而第三方模块又同时有3-4个版本.

注意2:我无法将所有软件包升级到最新版本,因为有些软件包具有依赖性非最新版本的其他软件包.

注3:假设依赖包在版本之间有重大变化.这是我提出这个问题的真正问题.

注4:我知道关于相同依赖程序集的不同版本之间的冲突的问题,但答案并没有解决问题的根源 - 它们只是隐藏它.

注5:地狱是否承诺"DLL Hell"问题解决方案?它只是从另一个位置重新出现.

注6:如果您认为使用GAC是某种选择,那么请逐步指导或给我一些链接.

.net c# dependency-management nuget

47
推荐指数
2
解决办法
1万
查看次数

如何检查pom.xml以获取更新的依赖项

我对Maven和pom.xml很新.有没有办法可以找出哪些依赖项已经过时,以便我可以更新我的pom.xml中的版本号.

例如,在其他语言中,Ruby有一个命令gem list outdated,它给我一个我可以更新的依赖项列表(rubygems)

我正在使用IntelliJ Idea,如果这可以帮助.

maven-2 dependency-management

46
推荐指数
3
解决办法
2万
查看次数

如何防止Maven每次都下载工件?

我正在使用Maven 3.1.1.在我的一个项目中,我引用了我的另一个项目......

    <dependencies>
            <dependency>
                    <groupId>org.mainco.subco</groupId>
                    <artifactId>myprojectA</artifactId>
                    <version>${project.version}</version>
            </dependency>
Run Code Online (Sandbox Code Playgroud)

以上内容取决于我的其他几个项目.但是,当我运行"mvn clean install"时,Maven会尝试下载这些工件而不是仅仅使用我本地存储库中的内容.如果我的本地存储库中不存在Maven,我如何让它只下载?这是我所看到的输出......

davea$ mvn clean install
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building subco admin Module 57.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://download.java.net/maven/2/org/mainco/subco/myprojectA/57.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/subco/57.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/projectB/57.0.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.java.net/maven/2/org/mainco/subco/projectC/57.0.0-SNAPSHOT/maven-metadata.xml
[INFO]
Run Code Online (Sandbox Code Playgroud)

dependencies dependency-management maven-3 maven

44
推荐指数
3
解决办法
6万
查看次数

在Heroku上安装devDependencies

我希望Heroku在我推送之后构建我的应用程序,这样我每次做出更改时都不必推送构建文件夹.但是heroku只安装package.json和grunt(我的构建工具)中的依赖项,并且它的所有组件都在devDependencies中.我想把它们留在他们所属的地方.这里的解决方法是什么?

heroku dependency-management npm gruntjs

44
推荐指数
2
解决办法
1万
查看次数

Gradle:按版本分类器覆盖传递依赖项

在我的项目中声明的依赖项之一具有传递依赖性'com.google.guava:guava:15.0'.但是我在WAS/Weblogic上部署的应用程序由于已修复的CDI问题而无效'com.google.guava:guava:15.0:cdi1.0'.(相同版本,但有分类器)我需要告诉gradle在构建和打包过程中使用这个jar.我试图弄清楚如何使用jar特定的版本分类器来提取这种传递依赖.

试过以下方法:

  1. 明确添加了依赖项:compile 'com.google.guava:guava:15.0:cdi1.0'.但两个罐子都包含在最终的WAR中.
  2. 明确添加了依赖关系并定义了解决策略:

    configurations.all {
        resolutionStrategy {
            force 'com.google.guava:guava:15.0:cdi1.0'
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    即使这样也行不通.

  3. 定义了检查和更改版本的解决方案策略.

    configurations.all {
         resolutionStrategy.eachDependency { DependencyResolveDetails details ->
             if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') {
                details.useVersion "15.0:cdi1.0"
                //details.useTarget "com.google.guava:guava:15.0:cdi1.0"
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    即使这样也行不通.

需要您就如何解决此问题提出建议.

java dependency-management gradle maven guava

44
推荐指数
4
解决办法
3万
查看次数

在Maven多模块项目中,如何在一个孩子中禁用插件?

我有一个maven多模块项目(男孩,我已经写了打开方式在这个网站太多次了).几乎所有模块(即其中包含代码的模块)都应运行maven-site-plugin来生成有关代码覆盖率等的报告.这些模块具有详细的共享配置 - 报告运行,要覆盖哪些文件/排除某些插件等

但是,有一些模块可以处理打包 - 运行程序集插件以生成tarball等.这些都不会从运行站点报告中获得任何好处 - 没有可以分析的代码,也没有可以报告的测试.

所以我有很多需要共享插件配置的模块,以及一些不需要运行插件的模块,最好是根本不需要.如果我把插件放在<build>父POM 的部分中,我可以做前者(共享配置),但在这种情况下,我似乎无法关闭插件.如果我将配置下推到每个模块自己的POM,我可以做后者(避免运行插件),但在这种情况下我无法想出一个分享配置信息的好方法.

我想要的是 - 共享配置,对于有时被子模块禁用的插件 - 甚至可能吗?如果是这样,怎么样?

plugins reporting dependency-management maven

42
推荐指数
1
解决办法
2万
查看次数

如何使用sails.js连接bower组件?

我希望能够通过bower安装Javascript依赖项并在sails.js应用程序中使用它们,但我无法找到一种方法来解决这个问题,只需将粘贴文件从bower_components文件夹复制到Sails资源文件夹.

理想情况下,我认为我想使用requirejs,并指向凉亭的部件main.js的文件.我可能会试图在一个圆孔中敲一个方形钉,如果有的话请告诉我.components/libraries欢迎任何有关管理Sails的想法.

javascript dependency-management bower sails.js

42
推荐指数
3
解决办法
1万
查看次数

Maven Multi Module优于简单依赖

我有几年的maven项目经验,即使是多模块项目(这让我讨厌 maven的多模块功能(所以免责声明现在已经完成))即使我真的很喜欢maven也有一些我无法得到的东西明确答案:

多模块maven项目的典型用例是什么?与简单的依赖关系和父pom相比,这种结构的附加价值是多少?

我已经看到了很多多模块项目的配置,但是所有这些项目都可以通过创建一个简单的依赖库结构来实现,这些结构依赖于自己的生命作为可交付成果(即使使用父pom,作为单独的可交付成果:分解依赖和配置)我没有找到任何用例,我可以清楚地看到多模块结构的附加值.

我一直发现这种结构带来了过度的复杂性而没有真正的好处:我在哪里错过了什么?(说实话,我可以得到一些ear可以受益于这种结构,但除了特定的用例,任何其他真正的用途和好处?)

dependency-management maven

40
推荐指数
3
解决办法
1万
查看次数