小编max*_*mil的帖子

使用范围导入和版本范围

我们正在尝试集中我们在代码库中使用的所有工件的版本,以消除重复并简化碰撞版本的任务.

我们使用所有工件和第三方工件的版本创建了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的常见用例.我们做错了什么或存在其他解决方案?

java dependency-management maven

7
推荐指数
1
解决办法
578
查看次数

JPA Criteria 在子查询中选择 CriteriaBuilder.construct

我希望子查询使用 CriteriaBuilder.construct 在包装器对象中返回两种类型。

然后我想在这个子查询的结果上做一个不同的选择计数。

然而 CriteriaBuilder.construct 返回一个 CompountSelection,而 CriteriaQuery 有 select(Selection) 子查询只有 select(Expression)。

我可以将 CompoundSelection 转换为表达式吗?

jpa criteria-api

5
推荐指数
0
解决办法
801
查看次数

用户在Web应用程序中启动后台进程

我在Tomcat上使用Spring连接了一个java Web应用程序.

我需要一种方法让用户在服务器中启动后台进程并向用户返回响应,而无需等待后台进程完成.

后台进程在java中编程并与我的应用程序集成.

由于我使用tomcat JMS不是一个选项.为了便于携带,我宁愿不必自定义我的tomcat安装.

我可以使用Quartz或类似的,并定期检查进程是否应该运行,但我更喜欢立即启动的东西.

我试过产生一个新的线程,但它不知道我的Spring bean.

最好的方法是什么?

谢谢

马克斯

java spring multithreading tomcat background

1
推荐指数
1
解决办法
1388
查看次数