问题标签 [sbt-aspectj]
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.
sbt - 您如何开发 SBT 项目本身?
背景:我有一个 Play 2.0 项目,我正在尝试在我的一些类(Java)上使用 jar 中的方面添加一些东西来做 aspectj 编织。(sbt-aspectj 似乎没有这样做,或者我看不出怎么做)。所以我需要添加一个自定义任务,并让它依赖于编译。我已经弄清楚了依赖部分。但是,因为我不知道自己在做什么,所以我想使用 IDE 开发它(我使用的是 Scala-IDE)。由于 sbt 项目(以及因此 Play 项目)是递归定义的,我认为我可以:
- 将eclipse插件添加到myplay/project/project/plugins.sbt
将 sbt 主 jar(和 aspectj jar)添加到 myplay/project/project/build.sbt:
libraryDependencies ++= Seq( "org.scala-sbt" % "main" % "0.12.2", "aspectj" % "aspectj-tools" % "1.0.6" )
进入 myplay/项目
- 运行 sbt,运行 eclipse 任务,然后将项目作为单独的项目导入到 eclipse 中。
我可以做到这一点,尽管 build.scala (和其他 scala 文件)最初并未被视为源代码,但我不得不稍微调整一下构建路径。然而,即使我已经为项目定义了 sbt main,eclipse IDE 和 compile 任务都会给出错误:
eclipse 项目在其引用库中既没有显示 main 也没有显示 aspectj-tools。但是,如果我给它一个伪造的版本(例如 0.12.4),重新加载会失败,所以它似乎正在使用依赖项。
所以,... 首先:这是正确的方法吗?第二:如果是这样,为什么不添加库。(第三:请不要让这成为我错过的愚蠢。)
scala - 在 SBT 中使用 Spring-Data-Neo4j 高级映射模式
我想在我的 Scala SBT 项目(托管在 github 上)中使用spring-data-neo4j的高级映射模式:
我可以将节点与存储库一起存储在数据库中,但我无法使 aspectj-weaving 工作。
这是我到目前为止所拥有的:
构建.sbt:
项目/plugins.sbt:
节点类和存储库:
测试:
当我尝试运行测试时,出现以下错误:
我究竟做错了什么?
scala - 如何使用 AspectJ 和 Sbt 生成 SWF 客户端类
我需要在 sbt scala 项目中使用 Amazon SWF 做一些工作。所以我在生成 SWF 客户端类时遇到了问题。如果你们中的任何人在 Scala 项目中使用 SWF,请告诉我如何使用 sbt AspectJ 生成 SWF 客户端类。
akka - 用于 sbt 的 AspectJ 插件不起作用
我正在尝试将 aspectJ 插件添加到 sbt 以在我的 akka/scala 应用程序中使用 kamon。但我无法正确配置 aspectJ 插件。每次我运行项目时,都会收到此错误“AspectJWeaverMissing”。我对我的项目进行了以下更改以包含 aspectj 插件:
1) 将 plugins.sbt 添加到 my-project-dir/project/plugins.sbt
在 sbt.build 文件中添加了以下库依赖项:
请让我知道我在这里缺少什么?谢谢
sbt - 为什么 JavaScript 文件重新加载不适用于 Play 项目中的 sbt-aspectj?
我正在使用带有Play Framework 2.1.5的 sbt-aspectj插件。
当我点击刷新时,包括 javascript 文件在内的所有资源都不会自动重新加载——我需要重新启动服务器才能获得预期的结果。
似乎我在构建中遗漏了一些东西,但无法真正找到它可能是什么,因此是这个问题。
这是plugins.sbt
文件:
Build.scala
文件:
scala - 使用 Scala 在 Intellij IDEA 中运行 ApsctJ
我正在使用Intellij IDEA Community Edition 14.0.3进行 Scala 开发。我的应用程序中有 AspectJ。我正在使用sbt-aspect
v0.10.1。当我从 SBT 控制台运行应用程序时,我能够运行一切正常。但是,当我从 intellij 菜单使用运行时,它并没有调用方面。因此,我无法在调试模式下运行。我怎样才能使它与 intellij 一起工作?
scala - 在 Scala 中使用 aspectj 时出错
我在scala中有一个应用程序。我需要将 AOP 用于其中一项功能。我使用了插件sbt-aspectj。当我使用 sbt 控制台运行时,一切正常。但是,在使用可执行 jar 时,我无法使其工作。我尝试了sbt-aspect git 页面中提供的示例代码。但是,我得到的错误是
.
我的 Build.scala 如下所示:
有谁知道如何解决这一问题?我在 sbt-aspectj github 页面上发布了这个,并在那里等待回复。但我有点急于解决这个问题。您的帮助将不胜感激。
scala - Scala 中使用 SBT 的 AspectJ 切入点
我正在尝试使用sbt-aspectj
插件构建一个在 Scala 中使用 AspectJ 切入点的 hello world 示例。在我的 plugins.sbt 中,我添加了插件:
在我的 build.sbt 中,我将其设置如下:
然后我创建了一个非常简单的 AspectJ 文件,围绕我的一个服务器类定义了一个切入点:
包io.bigsense;
所以那个类和函数确实存在。但是每当我运行 sbt 时,我都会收到以下消息:
我看过很多例子,我的切入点看起来是正确的。为什么它没有在运行时应用/编织到我的代码中?
编辑:添加 sbt 启动 java 的命令行参数:
scala - 在 Play 应用程序中配置 Kamon 和 AspectjWeaver
我正在尝试配置一个播放应用程序以使用 Kamon。我创建了一个新的播放应用程序
然后我把它贴在了 github 上。我在 OS X 10.11.1 上运行,并且正在运行 JDK 1.8.0_65-b17,并且该项目配置了 scala 2.11.6。我已经根据配置 Play 的说明以及 sbt-aspectj-runner kamon-play 示例对其进行了配置(据我所知) 。但是,当我尝试使用以下任一方式运行应用程序时:
或者
我收到以下错误:
我已经尝试了以下所有方法:
添加
aspectj-play-runner:run
到 plugins.sbt 文件(不编译)将 javaagent 参数传递给激活器:
activator -J-javaagent::~/.ivy2/cache/org.aspectj/aspectjweaver/jars/aspectjweaver-1.8.5.jar
但这会导致以下错误:
将 javaagent 参数传递给 sbt:
sbt run -Djavaagent:~/.ivy2/cache/org.aspectj/aspectjweaver/jars/aspectjweaver-1.8.5.jar
也试过
更新
我发现 aspectj-play-runner:run 是一个 sbt 任务/命令,所以我尝试了:
输出:
所以我尝试了:
哪个输出:
最后,文件实际上说我应该跑步
但是甚至无法识别命令/任务。
sbt - 带有本机打包程序的 sbt aspectj
我正在尝试将 sbt-aspectj 插件与 sbt 本机打包程序一起使用,并且遇到了一个问题,-javaagent
即 aspectj 加载时间编织器 jar 的关联路径引用了常春藤缓存位置而不是打包的内容。
也就是说,在运行之后,通过这个 javaagent 中的结果sbt stage
执行暂存的应用程序:bash -x target/universal/stage/bin/myapp/
exec java -javaagent:/home/myuser/.ivy2/cache/org.aspectj/aspectjweaver/jars/aspectjweaver-1.8.10.jar -cp /home/myuser/myproject/target/universal/stage/lib/org.aspectj.aspectjweaver-1.8.10.jar:/home/myuser/myproject/target/universal/stage/lib/otherlibs.jar myorg.MyMainApp args
我的目标平台是 Heroku,其中工件在被有效地“推送”到单个“dynos”之前构建(非常类似于 docker 设置)。这里的问题是生成的 -javaagent 路径在构建“分阶段”可部署的机器上有效,但在最终运行的地方不存在。
如何配置 sbt-aspectj 插件以引用打包的库而不是常春藤缓存中的库?
当前配置:
项目/plugins.sbt:
build.sbt(选定部分):
更新
我尝试了几种方法,包括从现有映射中提取 javaOptions 的相关输出,但结果是 sbt 抛出的循环依赖错误。
我有一些在技术上解决了我的问题但感觉不令人满意的东西。到目前为止,我直接包含了一个 aspectjweaver 依赖项,并使用 sbt-native-packager 的概念bashScriptExtraDefines
来附加一个适当的 javaagent:
更新 build.sbt: