问题标签 [xsbt-web-plugin]

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.

0 投票
1 回答
132 浏览

scala - 如何使用 xsbt-web-plugin/merge application.conf 包含每个项目 Jar 文件?

我刚刚从 maven 切换到 sbt 以进行 Scala 构建。由于部分构建也是战争文件,我使用 xsbt-web-plugin 来创建带有 sbt 的战争文件。一切正常,除了输出的 WAR 有问题。

WAR 的dependsOn另外两个子项目(传递性地)。当我运行包时,其他子项目的类和资源都被合并和复制。这也意味着application.conf被最近定义的覆盖dependsOn而不是合并。

maven 解决这个问题的方法是,它将每个依赖项都包含在 .jar 文件中WEB-INF/lib,但是这是因为 maven 没有类似dependsOnvs的机制libraryDependencies

如何使用 xsbt-web-plugin 解决这个问题?通过使用 OneJar 之类的合并策略,或者我是否必须将 WAR 构建与其他构建分开并将它们定义为依赖项。

0 投票
1 回答
1758 浏览

sbt - 使用 xsbt-web-plugin 进行 SBT 战争部署

我已通过 SBT 项目配置为使用 xsbt-web-plugin 进行 Web 部署。描述这一点的文档似乎是:

xsbt-web-plugin 维基

发布 .war 文件

这是我迄今为止根据阅读文档所做的:

我创建了 plugins.sbt :

在 build.sbt 中添加了以下几行:

使用sbt加载项目时,插件被下载,但随后报以下错误:

compile:packageWar而不是packageWar最后一行会导致不同的错误:

我应该写什么才能让我的 SBT 项目支持战争打包?

0 投票
1 回答
465 浏览

scala - 为什么在使用 xsbt-web-plugin 时在 Sbt 控制台中检查 compile:packageWar::packagedArtifact 失败?

我正在使用带有 Sbt 0.13.2 的 xsbt-web-plugin。如果我将以下内容添加到 build.sbt 我可以在控制台中输入“myTask”并且它可以工作:

但是,如果我在 Sbt 控制台中键入它,为什么会返回错误?

错误信息:

为了比较,这个确实有效:

build.sbt 的关键部分:

项目/plugins.sbt:

(我只是问这样我可以更好地理解 Sbt,它实际上并没有引起问题。)

0 投票
2 回答
218 浏览

sbt - 如何阻止 xsbt 在资源更改时重新加载 webapp

我们正在使用sbtwithxsbt-web-plugin来开发我们的 liftweb 应用程序。在我们的项目构建中,我们有几个子项目,我们使用dependenciesaProject在所有子项目之间共享一些东西。

为了简化开发,我们使用'project standalone' '~;container:start; container:reload /'命令自动重新编译更改的文件。

我们决定也为共享core项目中的一些公共资产提供服务。这适用于电梯。但是当我们将文件添加到core/src/main/resources/toserve文件夹时,我们面临的是对任何 javascript 或 css 文件的任何更改都会导致应用程序重新启动码头。这很烦人,因为这种重新加载需要大量资源。

所以我开始研究如何防止这种情况,甚至发现有人提到watchSources扫描更改文件的 sbt 任务。

但是将此代码添加为watchSources修改(println打印所有文件的事件)并不能阻止每次我更改core resources文件夹中的资产时重新加载 webapp。

我也尝试添加excludeFilterunmanagedSorcesunmanagedResorces但没有运气。

我不是 sbt 专家,对设置的这种修改对我来说更像是一种魔法(而不是通常的代码)。文档似乎也发现了这种调整=(任何人都可以帮助我防止 sbt 在每次资产文件更改时重新加载 webapp 吗?

非常感谢!

0 投票
1 回答
397 浏览

scala - 使用 xsbt 插件传递 jvm 选项

我想在运行容器时传递一个环境变量:从 sbt 开始。所以我尝试添加

到 build.scala,如 xsbt 插件文档中所述。但是当我运行容器时这没有效果:启动。有人可以建议我可能会错过什么吗?

谢谢德斯

0 投票
0 回答
183 浏览

scala - xsbt 插件 1.0.0-M7 和 scalatra

我曾尝试在我的 scalatra 项目中将 xsbt 插件升级到 1.0.0-M7,但 scalatra 似乎与此版本不兼容。当我尝试重新加载我的项目时,我收到以下错误。我试过 scalatra 2.3.0 版

问候德斯

0 投票
1 回答
183 浏览

tomcat - 如何使用 xsbt-web-plugin 为每个 Spray 应用程序启动具有不同端口的多个 Tomcat 实例?

我有一个Spray应用程序,最终将部署到一组Apache Tomcat服务器。

在开发期间,能够从 sbt 启动在不同端口上运行应用程序的多个 Tomcat 实例会很方便。

此问题中的复选框项目“在单个 SBT 项目中运行多个容器实例”表明它受支持,但我似乎无法找到在我的项目中设置它的分步过程。

谁能确认这是否可行,如果可以,如何配置?

0 投票
1 回答
354 浏览

playframework - sbt-uglify compressOptions 不采取?

我一直在尝试添加 sbt-uglify,这是通过反复试验得出的。我发现缺少文档,Google 结果也不好。这个插件基于 UglifyJS。

我遇到的问题是它丢弃了无法访问的代码和未使用的函数/变量。如果这是我的代码,这就足够了,但我必须维护旧版 JS 并且不能有丢弃的东西的副作用。

我使用的代码是Seq("unused: false", "dead_code: false")但也尝试过Seq("unused: false, dead_code: false")

如果有人知道我是否遗漏了什么,请告诉我。

有用的链接: https ://github.com/sbt/sbt-uglify

如果需要,这是一个示例项目,但它不是我自己的:https ://github.com/nonameplum/play-uglify-test

谢谢!

0 投票
1 回答
1306 浏览

sbt - 如何为 xsbt-web-plugin 的 jetty() 设置系统属性?

我已将我的项目迁移到 0.13.5 并开始使用xsbt-web-plugin

我想将 logback 配置为使用由系统属性设置的类路径之外的配置文件logback.configurationFile(因此我可以将 logconfig 保留在 war 文件之外)。

以前我会简单地设置:

在里面project/build.scala和 logback 会捡起它。

但是,在将 sbt 升级到 0.13.5 并迁移到 sbt 中设置的 xsbt-web-plugin 系统属性后,在运行时(jetty)似乎不可用。

我尝试以不同的方式设置系统属性,也可以-D在启动 sbt 时使用标志传递它。

在 sbt 控制台上,我可以看到属性:

但它在 webapp 中不可用。

关于如何将系统属性设置为在 webapp 中可用的任何想法?

我都试过了jetty()tomcat()。相同的行为。

更新: 我最终得到:

这样可行。

0 投票
1 回答
222 浏览

scala - 包中的 webappResources := Seq(baseDirectory.value ....) 抛出错误解析表达式

我尝试将 sbt(版本 0.9.0)配置为在 sbt 中运行包任务时使用 webapp/dist 作为 webappResource 目录,并在运行 container:start 命令时使用 webapp/app 作为 webappResource 目录,遵循以下描述:

如何为容器提供不同的 webapp 资源:SBT 中的启动和打包任务

但它会引发以下错误:

我猜这个包也是 sbt conf 文件中的保留字,还有其他方法可以覆盖包任务中的设置吗?

这样做的原因是我使用 gulp 来管理 webclient。Gulp 从 app 文件夹运行项目,并将 webclient 项目编译(缩小等)到 dist 文件夹。当我开发时,我使用如下声明的 webapp/app 文件夹:

当我创建一个版本时,我首先使用 gulp 将 webapp 客户端构建(缩小等)到 webapp/dist 中。然后我想把 webapp/dist 的内容打包到最后的战争中。

但是在使用包任务时,我无法覆盖上面的设置以使用 webapp/dist。

我也尝试过像这样创建自己的配置:

但它仍然使用 webapp/app 目录而不是 webapp/dist 目录。

任何帮助将不胜感激!!!!