我们正在尝试集中我们在代码库中使用的所有工件的版本,以消除重复并简化碰撞版本的任务.
我们使用所有工件和第三方工件的版本创建了BOM pom,并将其导入(范围导入)在每个工件的poms的dependencyManagement部分中.
为避免每次更新bom版本时都必须更新每个工件,我们在导入bom时尝试使用版本范围.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.acme</groupId>
<artifactId>bom</artifactId>
<version>[1.0,)</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
但是,maven似乎没有识别pom的dependencyManagement部分中的版本范围.
我知道如果我们的工件之间的关系是分层的,我们可以使用模块并从父POM中释放.然而不幸的是,事实并非如此.
这必须是maven的常见用例.我们做错了什么或存在其他解决方案?
我希望子查询使用 CriteriaBuilder.construct 在包装器对象中返回两种类型。
然后我想在这个子查询的结果上做一个不同的选择计数。
然而 CriteriaBuilder.construct 返回一个 CompountSelection,而 CriteriaQuery 有 select(Selection) 子查询只有 select(Expression)。
我可以将 CompoundSelection 转换为表达式吗?
我在Tomcat上使用Spring连接了一个java Web应用程序.
我需要一种方法让用户在服务器中启动后台进程并向用户返回响应,而无需等待后台进程完成.
后台进程在java中编程并与我的应用程序集成.
由于我使用tomcat JMS不是一个选项.为了便于携带,我宁愿不必自定义我的tomcat安装.
我可以使用Quartz或类似的,并定期检查进程是否应该运行,但我更喜欢立即启动的东西.
我试过产生一个新的线程,但它不知道我的Spring bean.
最好的方法是什么?
谢谢
马克斯