草庐IT

依赖树

全部标签

java - 如何让 Maven 构建在重复依赖项上失败?

如果我在同一个pom中有两个相同的依赖项,我希望构建失败。目前我可以通过Maven依赖插件的“analyze-duplicate”检测到它的发生。但是,没有像其他一些选项那样的failOnWarning选项(另外,它在信息级别打印,而不是警告)。除了扩展它还有其他选择吗? 最佳答案 通常,当您希望构建由于某种原因失败时,查看MavenEnforcerPlugin的好插件。.这个插件可以配置一组规则,当这些规则被验证时,构建将失败。在这种情况下,它需要一个检查重复依赖项的规则,并且有一个内置规则专门用于此:.因此,您可以maven-e

java - 什么时候在 Java/Gradle 中使用运行时而不是编译时依赖?

根据我的理解,Gradle会将所有compile依赖作为runtime依赖。当你应该只使用运行时时,什么是实例?当调用gradlebuild时,所有子依赖项都从compile中获取并拉入编译。例如,当我对调用时打印的内容进行比较时>gradle-qdependencies为编译和运行时打印的列表是相同的。示例输出可能显示以下两者:+---org.springframework.boot:spring-boot-starter-web:->1.5.4.RELEASE|+---org.springframework.boot:spring-boot-starter:1.5.4.RELEAS

java - 模块不依赖于 Intellij IDEA 2017.2.5 Java 9

我刚刚在命令行中测试了我对java9模块的理解。然后我搬到了IntellijIDEA2017.2.5来测试它。我遇到了错误moduleisnotindependencies不知道为什么intellij显示错误。我只是在module-info.java中将需要的语句写为exports和requires。然后我用Intellij智能通过IDEA自行解决错误。只需ALT+ENTER,然后单击Adddependencyonmodule'module-name-here'。但我不知道Intellij在幕后做了什么。有什么想法吗? 最佳答案 但

无法解析 Java 9 自动模块依赖项/找不到模块

我正在尝试将一些遗留应用程序迁移到新的Java9模块系统,以加强其封装。我从外到内开始,假设外围的类具有最少的外部依赖性。如您所料,我已经声明了一个非常开放的模块:modulecom.example.user{exportscom.example.user;}这会立即破坏整个项目(在所有类中),突然间,外部依赖项的每个导入都不再解析(导致超过1kJava问题):Theimportcom.otherexamplecannotberesolvedTheimportorg.springframeworkcannotberesolvedetc.同一项目中的本地包com.example.pric

java - 如何确定给定 Maven 依赖项的来源?

给定本地Maven存储库,是否可以确定远程存储库是特定依赖项的来源?怎么办? 最佳答案 正如@Eugene所提到的,依赖项的来源并未存储在任何地方,因此事后(如果您不在公司存储库后面)找到它的唯一方法是清除给定项目的依赖项并重新解决它们。MavenDependencyPlugin的以下目标可以这样做:mvndependency:purge-local-repository-DreResolve=true请注意reResolve默认情况下设置为true,我只是出于文档目的提到了它。 关于j

java - 依赖注入(inject)、初始化后的不变性

我希望能够指定一个对象的成员变量在对象被“初始化”后是不可变的,这对我来说意味着在它被注入(inject)任何依赖项之后,并且已经执行了它所需要的任何其他初始化操作只能在DI之后执行。是否有满足我兴趣的语言-以这种方式形式化DI、初始化并支持不变性?使它们成为语言的一部分也许是愚蠢的;也许不吧。我不确定。今天我用Java编程,但我不能像我想的那样经常使用“final”,因为这些阶段发生在构造函数完成执行之后。关于如何使用Java获得我想要的东西的任何建议?我想我可以让我的对象实现一个基类,以便这些阶段在构造函数完成之前发生,或者使用方面来做同样的事情。想法?

java - 构造函数中的依赖注入(inject)

假设我有Spring服务类或JSFbean。我将这些类连接到另一个类中。到目前为止没有问题。我可以在任何方法中使用这些注入(inject)字段。但是,在构造函数中使用它们会给我一个NullPointerException。可能构造函数在依赖注入(inject)发生之前运行,并且它没有看到我注入(inject)的字段。有没有在构造函数中使用依赖注入(inject)的解决方案? 最佳答案 不,您不能在构造函数中引用注入(inject)字段。框架必须以某种方式构造您的对象(调用构造函数),然后注入(inject)依赖项,以便它们在构造函数

java - 无法更改 mvn 依赖项 :tree 中的输出格式

如所述here可以使用以下命令以graphml格式显示依赖项输出:dependency:tree-DoutputType=graphml-DoutputFile=dependencygraphml但是,无论我为outputType输入什么值,文件中的输出都不会改变。Maven说他们支持“文本、点、graphml和tgf”here.目前我不知道我做错了什么。顺便说一句,我正在使用maven3.0.0。有什么我可以检查的想法吗? 最佳答案 正如您在此处和dzone的评论中发表的那样,必须指定足够新的插件版本。否则可能会使用不支持grap

java - 不使用spring框架的依赖注入(inject)

我有一个相当幼稚的问题。我们可以像使用Spring框架注入(inject)一样使用核心java注入(inject)依赖项吗?现在,我做这样的事情:在web.xml中:contextConfigLocationclasspath:applicationContext.xmlorg.springframework.web.context.ContextLoaderListenerSpring应用程序上下文.xml:我将在其中使用注入(inject)的bean的类:publicclassMyResource{@AutowiredprivateMyServicemybean;publicMyR

java - Selenium 获取元素的自然高度和宽度。不应依赖样式属性。 GetSize()、GetLocation() 和 getRect() 无法这样做

这是场景。当我对图像ID“FlashID1x”使用GetSize()、GetLocation()函数时,它总是给出250,300,但元素的实际高度和宽度是1X1,这基本上是错误的。这是我的目标dom:这是我的代码:System.out.println("total:"+iframe.size());//driver.switchTo().frame(frame);org.openqa.selenium.Pointpoint=driver.findElement(By.xpath(".//*[@id='FlashID1x']")).getLocation();System.out.pri