gpt4 book ai didi

java - sbt 程序集 fatjar 中的spectjweaver/javaagent

转载 作者:行者123 更新时间:2023-11-30 03:02:29 24 4
gpt4 key购买 nike

我有一个库,要求我使用aspectjweaver jar 指定javaagent。例如。

java -jar  -javaagent:/some/location/aspectjweaver-1.8.2.jar myFatJar.jar

这很好用。但是,我的 fatjar 将运行的环境没有aspectjweaver-1.8.2.jar,我不能把它放在那里(获得一个更可配置的环境可能是我稍后要走的路线)。

有没有办法,最好使用 sbt-assemble,将aspectjweaver 打包到我的fatjar 中,并以这种方式运行它?如果重要的话,我的应用程序是一个使用 Scala 的 Spray 应用程序,使用 sbt 构建。

约束

  • 不能有单独的 jar
  • 可以指定任意java命令
  • 完全控制构建过程

最佳答案

如果正如您所说,您可以完全控制构建过程,为什么不使用编译时编织而不是加载时编织呢?然后,您只需将 AspectJ 运行时库 aspectjrt.jar 打包到您的 fat jar 中即可解决问题。您甚至可以避免应用程序启动时运行时编织的开销。

我能想到的导致这种方法出现问题的唯一原因是您需要在构建过程的控制之外编织连接点。

关于java - sbt 程序集 fatjar 中的spectjweaver/javaagent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com