我正在尝试使用Spring 3.0(和maven)完成我的第一个项目.我在相当多的项目中一直使用Spring 2.5(和引物版本).不过我有点困惑,我必须在我的pom.xml中定义哪些模块作为依赖项.我只想使用核心容器函数(bean,core,context,el).
我习惯这样做:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但现在我有点困惑,因为3.0版本没有完整的弹簧模块.我尝试了以下但它没有用(有些类缺失).
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
如何告诉CPAN安装所有依赖项?
我试过设置这些cpan
:
cpan> o conf prerequisites_policy follow
cpan> o conf commit
Run Code Online (Sandbox Code Playgroud)
我仍然不得不回答"y"几次(但感觉比之前少).
有没有办法让它始终继续安装?我想让它无人看管.
似乎我想要一个旗帜总是相信CPAN做正确的事情,如果它建议一个答案我想跟随它(Enter当它问什么时总是打).
到底是什么之间的区别HintPath
在.csproj的文件和ReferencePath
一个.csproj.user
文件?我们试图提交一个约定,其中依赖DLL在"发布"svn repo中,并且所有项目都指向特定版本.由于不同的开发人员具有不同的文件夹结构,因此相对引用将不起作用,因此我们提出了一种方案,使用指向特定开发人员版本文件夹的环境变量来创建绝对引用.因此,在添加引用之后,我们手动编辑项目文件以使用环境变量将引用更改为绝对路径.
我注意到这可以通过HintPath
和它完成ReferencePath
,但我可以在它们之间找到的唯一区别HintPath
是在构建时和ReferencePath
项目加载到IDE时解决了.我不确定那是什么后果.我注意到VS有时会重写.csproj.user
并且我必须重写它ReferencePath
,但我不确定是什么触发了它.
我听说最好不要检查.csproj.user
文件,因为它是特定于用户的,所以我想针对这一点,但我也听说过,HintPath
如果加载了指定的DLL并不"保证"相同的DLL例如位于项目的输出目录中.有什么想法吗?
这是我的一般问题:
我的项目P取决于A,它取决于B,它取决于C,这取决于D的1.0.1版本.
D版本1.0.1存在问题,我想强制使用另一个模块.我不知道如何在我的项目的POM中声明这个,因为我没有直接添加对D的依赖.这是C声明对D的依赖.
重要说明:在这种情况下,不仅更改了版本,还更改了组和工件.因此,这不仅仅是覆盖依赖项的版本,而是排除模块并包含另一个模块.
在具体的情况下,D是StAX,其1.0.1有一个bug.根据bug中的注释,"通过用stax-api-1.0-2(maven GroupId = javax.xml.stream)替换stax-api-1.0.1(maven GroupId = stax)来解决问题"所以我我正在努力.
因此,D = stax:stax-api:jar:1.0.1和C = org.apache.xmlbeans:xmlbeans:jar:2.3.0
我正在使用maven 2.0.9以防万一.
输出mvn依赖:tree"
mvn dependency:tree
[..snip..]
[INFO] +- org.apache.poi:poi-ooxml:jar:3.6:compile
[INFO] | +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile
[INFO] | | +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
[INFO] | | | \- stax:stax-api:jar:1.0.1:compile
Run Code Online (Sandbox Code Playgroud)
在我的项目的POM中,我对"A"有以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
提前致谢.
是否可以在maven pom.xml文件中为不同的配置文件使用不同的依赖项集?
例如
mvn -P debug
mvn -P release
Run Code Online (Sandbox Code Playgroud)
我想在一个配置文件中选择一个不同的依赖jar文件,该配置文件具有相同的类名和相同接口的不同实现.
"依赖注入"和"控制反转"经常被认为是使用Spring框架开发Web框架的主要优点
如果可能的话,有人可以用一个例子用非常简单的术语解释它是什么吗?
dependency:tree
可用于查看给定项目的依赖关系树.但我需要的是看到第三方工件的依赖树.
我想我可以创建一个空项目,但我正在寻找更容易的东西(我需要为几个工件做这个).
从Maven 2.0.9开始,有可能包含
<type>pom</type>
<scope>import</scope>
Run Code Online (Sandbox Code Playgroud)
在该<dependencyManagement>
部分.
据我了解,它将被"替换"此pom中包含的依赖项,就像它们最初在此处定义一样.
上面的解决方案与没有import
范围的这个pom的简单依赖之间有什么区别(我看到后者被称为"依赖关系分组")?这种"分组"依赖关系在解决依赖关系优先级时具有较低优先级的唯一区别是什么?
如何确定.NET应用程序的依赖项?Dependency Walker是否适用于托管应用程序?我已经下载了最新的并尝试过分析应用程序,但它只是在没有太多解释的情况下退出.如果它不能与.NET一起使用,那么是否有其他工具可以帮助我调试运行时DLL加载问题?
我是maven工具的新手,我用Spring和Hibernate创建了一个项目,它们在pom.xml中配置为插件,但JUnit在依赖项下标记.我的问题是,作为一个插件和一个作为依赖的背后的逻辑是什么?