问题标签 [maven]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - 在 Maven 中跳过某些模块中的测试
我希望我的 Maven 构建能够运行大多数单元测试。但是一个项目中的单元测试速度较慢,我一般想将它们排除在外;并偶尔打开它们。
问题:我该怎么做?
我知道-Dmaven.test.skip=true
,但这会关闭所有单元测试。
我也知道跳过集成测试,描述在这里。但是我没有集成测试,只有单元测试,而且我没有对 maven-surefire-plugin 的任何显式调用。(我将 Maven 2 与 Eclipse-Maven 插件一起使用)。
java - 为什么 AspectJ 不编译 Spring 的 @Configurable 工作?
更新 5:我已经下载了基于最新 Eclipse 的最新 Spring ToolsSuite IDE。当我将我的项目作为 Maven 项目导入时,Eclipse/STS 似乎使用 Maven 目标来构建我的项目。这意味着 AspectJ 最终在 Eclipse 中正常工作。
更新 4:我最终只使用 Maven + AspectJ 插件进行编译时编织,有效地绕过了 Eclipse 的机制。
更新 3: AspectJ 的 Eclipse 插件似乎破坏了 Eclipse 正确发布到 Tomcat 的能力。只有通过删除项目中的 AspectJ 功能,我才能让它再次正确发布。很烦人。
更新 2:我现在在 Eclipse 中工作。这么说让我很不舒服,但我不知道我是如何从 Eclipse 或 Maven 构建中得到它的。它似乎是编译问题而不是运行时问题。
更新 1:看来我已经通过 Maven 构建让它工作了,但我不知道如何。Eclipse 仍然无法正常工作。我在pom.xml中唯一更改的是添加这些(无关紧要的?)配置参数:
我实际上担心我会重复这个问题,一切都不一致。随着我了解更多,我会不断更新这个问题。
关于 Eclipse,我通过获取我希望编织的二进制方面(在本例中为 spring-aspects.jar)并将其从我的类路径中复制出来,取得了一些进展。然后我将这个现在的外部 jar 添加到我的Aspect Path中。完成此操作后,Eclipse 会在我的代码中正确显示 AspectJ 标记。令人讨厌的是,我不能将spring-aspects.jar留在我的Java 构建路径中,该路径由 Maven 通过 Maven 插件为我维护。然而,出于某种原因,AspectJ 插件看不到二进制方面,除非它们被显式添加到Aspect Path中。
原帖: @Configurable 是一个 Spring 注释,它允许将依赖项注入到 Spring 外部实例化的对象中(例如,通过 Hibernate 或某些工厂类)。
我之前在加载时编织中使用了这个注释,它大部分都有效。有时我会启动并且不会注入任何东西。这个问题产生了这个 StackOverflow 问题。答案并不多,但大多数人建议我尝试编译时编织,因为可靠性更高。
我为 Eclipse 和 Maven 安装了 AspectJ 插件。这两者都产生似乎是正确编译的类。在 AspectJ 编译之前,我在文本编辑器中打开了其中一个类,但没有发现对 AspectJ 的引用。我在 AspectJ 编译后打开它,Eclipse 和 Maven 生成的版本都引用了org.aspectj.weaver.MethodDeclarationLineNumber。这就是为什么我认为它被正确编译的原因。问题是一旦部署,就不会注入任何依赖项。
我的 Spring applicationContext.xml确实包括以下内容:
以上是标记为@Configurable 的类完成DI 所需的全部内容吗?在从加载时编织到编译时编织的转换过程中,我从我的 applicationContext.xml 中删除了META - INF/aop.xml、<context:load-time-weaver /> ,并从我的context.xml中删除了Spring 的 Tomcat 编织器。
我该如何进一步调查这个问题?可能的原因是什么?
maven - Maven 最佳实践
我有几个关于 Maven 最佳实践和管理存储库的问题。
在我的环境中,我不想去中央 maven 存储库,而是将所有内容存储在内部存储库中。我应该只要求每个用户将信息放入禁用使用来自 maven 存储库的快照或版本的 settings.xml 文件中,还是应该在 POM 文件中?
另外,我希望所有用户都访问同一个公司存储库。这个存储库信息应该放在 pom 中还是 settings.xml 中?如果它在 pom 中,maven 将如何知道去存储库,因为它需要已经知道存储库在哪里才能获取 pom?
eclipse - 阻止 Maven 检查更新
每次从 Eclipse 开始调试项目时,如何阻止 maven 检查更新?我希望这是有道理的,因为我对 java 开发环境不太熟悉。
只是每次我开始调试时,它都会检查依赖库的快照更新。这在缓慢的互联网连接上变得很烦人。
maven - maven 程序集忽略父依赖项
当依赖项直接包含在 pom 文件中时,我的程序集描述符会正确应用包含和排除。
但是,当我将依赖项放在父 pom 文件中时,程序集:目录目标报告包含和排除尚未触发。
你知道为什么 maven-assembly-plugin 会忽略父依赖吗?我该如何解决?
以下是 Maven 和程序集描述符:
装配描述符:
子 POM 程序集插件定义:
父 POM 依赖项:
构建报告中的警告:
maven - 在档案上发布带有源的工件
在工作中,我正在尝试使用 maven 管理项目依赖项。我们使用 Apache Archiva (1.2.1) 作为本地存储库和代理。我正在为开源项目添加工件,该项目未在任何公共存储库上发布。我了解到要发布源,我应该使用上传工件页面上的分类器字段。然后,当我浏览存储库时,源会在 jar 和 pom 旁边列出。
但是当我更新我的 maven 依赖项时,我只从存储库中获取 jar 和 pom。我注意到当档案代理为我从其他公共存储库下载时,资源也丢失了。我在 Archiva 的管理页面中没有找到任何配置选项来提供资源......我错过了什么?
更新:我错过了必须手动下载工件源的事实。即 maven 客户端必须请求它们,这由命令行选项控制-DdownloadSources=true
。Maven Integration for Eclipse 有一个首选项设置,始终如解析工件源中所述下载它们。然后,Archiva 为本地工件提供源或将请求代理到远程存储库并缓存源以供将来请求。
java - 在 Maven 存储库中查找 Oracle JDBC 驱动程序
我想将 oracle jdbc 驱动程序作为依赖项(运行时范围)添加到我的项目中 - ojdbc14。在 MVNrepository 站点中,放入 POM 的依赖项是:
当然这不起作用,因为它不在 maven 使用的中央存储库中。2个问题:
如何找到包含此工件的存储库(如果有)?
如何添加它以便 Maven 使用它?
java - Maven 运行项目
是否有一个 Maven“阶段”或“目标”来简单地执行 Java 类的主要方法?我有一个项目,我想通过简单地执行“mvn run”之类的操作来手动测试。