- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 Ant 构建文件的 Maven 项目:
<?xml version='1.0' encoding='UTF-8'?>
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>my-test-app</artifactId>
<groupId>my-test-group</groupId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<configuration>
<target>
<ant antfile="build.xml" inheritRefs="true">
<target name="all"/>
</ant>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Ant 构建文件使用脚本:
<?xml version='1.0' encoding='UTF-8'?>
<project name="scriptdef-test-build">
<scriptdef name="test-script" language="javascript">
<![CDATA[
var System = Java.type('java.lang.System');
System.out.println("Working!");
]]>
</scriptdef>
<target name="all">
<test-script/>
</target>
</project>
在 Java 8 上它可以工作,但在 Java 9 (9-ea+162) 上它找不到脚本引擎:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (compile) on project my-test-app: An Ant BuildException has occured: The following error occurred while executing this line:
/home/dan/scriptdef-test/build.xml:10: Unable to create javax script engine for javascript
around Ant part ...<ant antfile="build.xml" inheritRefs="true">... @ 4:47 in /home/dan/scriptdef-test/target/antrun/build-main.xml
...
Caused by: /home/dan/scriptdef-test/build.xml:10: Unable to create javax script engine for javascript
at org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:84)
at org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67)
at org.apache.tools.ant.taskdefs.optional.script.ScriptDef.executeScript(ScriptDef.java:350)
at org.apache.tools.ant.taskdefs.optional.script.ScriptDefBase.execute(ScriptDefBase.java:50)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:547)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
... 34 more
我附加了一个调试器,我发现 JavaxScriptRunner
使用的 ScriptEngineManager
没有任何脚本引擎,因为它使用的服务加载器找不到任何脚本引擎ScriptEngineFactory
实现。如何让服务加载器工作?
更新:我还为此创建了一个问题:https://issues.apache.org/jira/browse/MANTRUN-200
最佳答案
我的解决方法是将脚本更改为 Groovy,但我收到了有关此问题的通知,并返回查看问题是否已解决。它尚未修复,但评论引导我找到了一个可行的解决方案:
<?xml version='1.0' encoding='UTF-8'?>
<project name="scriptdef-test-build">
<scriptdef name="test-javascript" language="javascript"
classpath="${plugin_classpath}">
<![CDATA[
var System = Java.type('java.lang.System');
System.out.println("Working from Javascript!");
]]>
</scriptdef>
<target name="all">
<property name="plugin_classpath" refid="maven.plugin.classpath"/>
<test-groovy/>
<test-javascript/>
</target>
</project>
关于maven - 从 maven-antrun-plugin 运行的 Ant 在 Java 9 上找不到脚本引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43067454/
我正在使用 Maven AntRun 插件 1.6 并且从他们的示例中我无法编写以下要执行的 ant 任务。 示例网址:http://maven.apache.org/plugins/maven-an
按照使用页面上的说明 (http://maven.apache.org/plugins/maven-antrun-plugin/usage.html) 和其他 Stackoverflow 问题,我
antrun 正在使用哪个版本的 ANT插件以及如何控制它以使用特定版本的 ANT 发行版。这个插件真的从本地发行版中获取 ANT 吗? 最佳答案 根据 Maven Central 中的信息,它使用的
我正在尝试使用 maven-antrun-plugin复制生成的.java文件到我当前的源目录。我的问题是生成了我要复制的路径目录的一部分。 我要复制的路径是这样的: ${project.build.
我正在将 ant 脚本转换为 Maven,并决定使用 Maven ant run 插件。我走的很好,但我遇到了以下问题。 Ant源脚本使用目标定义如下: 重点是使
我试图将Maven属性(通过配置文件定义)传递给antrun执行: org.apache.maven.plugins maven-antrun-plugin 1.7
我的 pom 中有以下内容: org.apache.maven.plugins maven-ant-plugin 2.3
我正在尝试设置 Maven 以在我的 Web 项目中的目录上执行 LESS CSS 预处理器。基本流程是: Maven 调用 maven-antrun-plugin。 Ant-contrib 循环遍历
如何禁用 maven-antrun-plugin当某个文件已经存在时执行?: [...] maven-antrun-plugin 1.6 test
我正在学习如何将 maven 用于我的独立 Java 应用程序,但我不明白如何将所有目录从/src/main/resources 递归复制到/taget 目录。 我尝试使用 antrun 和资源插件,
有一个多模块项目。在 child 内部,我需要做一些复杂的事情(集成测试与部署到应用程序服务器等)。所以有一个集成测试子模块,从这个模块我需要父模块的根才能到达其他模块。我不想使用“..”。 Inte
我想根据文件的可用性在 antrun 插件中执行“javac”。我们如何在 maven-antrun 插件中添加条件。 最佳答案 您可以在 Maven AntRun Plugin 的帮助下完成此操作.
我们在将 Ear 部署到服务器时遇到问题。不同环境(dev、int、acc等)的部署是有区别的。对于每个环境,我们部署到 1 个 weblogic 服务器。在某些情况下,还需要在第二台服务器上进行部署
我在我的 Maven 构建中使用 antrun 插件来替换 token @版本@ 在一些带有应用程序版本的 JSP 文件中。 这就是我正在做的: maven-antrun-plugin
我试图检查并查看是否在 maven-antrun-plugin 中设置了 MULE_HOME 环境变量但没有成功。这是我到目前为止所拥有的: org.apache.maven
我可以通过以下方式将两个属性 A 和 B 传递给 maven mvn test -DA=true 或 mvn test -DB=true 如果定义了 A 或 B,我希望跳过目标。我发现只有 A 被
如何从 maven-antrun-plugin 获取信息回到 Maven 脚本?例如: [...] maven-antrun-plugin 1.6 test
我正在使用 maven-antrun-plugin 生成使用 Apache Thrift 的类。当我将一个 thrift 文件指定为参数时该插件工作,但当我尝试使用通配符 (*) 为所有 thrift
我正在 Maven 中的 Ant 任务中复制一些文件,但我不知道如何告诉 ant 不要记录它正在复制一些文件的事实。 org.apache.maven.plugins maven-a
我已经将 jquery-ui 下载到我的 webapp 中,它有一个 build.xml用于压缩和缩小。 现在我想运行这个 build.xml来自我的 pom.xml : org.apa
我是一名优秀的程序员,十分优秀!