gpt4 book ai didi

java - 如何使用 armed bear common lisp 创建一个 jar?

转载 作者:行者123 更新时间:2023-12-05 02:07:57 25 4
gpt4 key购买 nike

我想知道是否可以使用 armed bear common lisp 创建一个 jar 文件,如果可以如何创建。

换句话说,我有以下代码(格式为“Hello, World!~%”))我可以在 armed bear common lisp 中运行它。我想知道如何创建一个执行该代码的 jar。–

谢谢,

肖恩。

最佳答案

documentation说(在第 3.3 节中,对 pdf 感到抱歉)-

3.3.2 Implemented JSR-223 interfaces

JSR-223 defines three main interfaces, of which two (Invocable and Compilable) are optional. ABCL implements all the three interfaces - ScriptEngine and the two optional ones - almost completely.

使用 ABCL 通过五个简单步骤创建可执行 jar

第一步:创建一个装有 Armed Bear 的脂肪 jar 。

我将使用 maven,因为这是我所知道的。让我们创建一个 pom.xml 文件。

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stackoverflow.example</groupId>
<artifactId>ColbertNightmare</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>Stephen Colbert's Nightmare - Armed Bears</name>
<dependencies>
<dependency>
<groupId>org.abcl</groupId>
<artifactId>abcl</artifactId>
<version>1.6.0</version>
</dependency>
</dependencies>
<build>
<finalName>ColbertNightmare</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.stackoverflow.example.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
第二步:我们需要遵循maven标准的目录结构。

我们将有一个 Java 类作为入口点。在包含pom.xml的文件夹中,

mkdir -p src/main/java/com/stackoverflow/example

如果您使用的是 Windows,则需要(改为)

mkdir src\main\java\com\stackoverflow\example
第三步:编写Java代码(在我们刚刚创建的文件夹中)

创建一个 Main.java 文件,其中包含(注意我修复了一个额外的 ) LISP 代码中的错误)

package com.stackoverflow.example;

import javax.script.ScriptException;

import org.armedbear.lisp.scripting.AbclScriptEngine;
import org.armedbear.lisp.scripting.AbclScriptEngineFactory;

public class Main {
public static void main(String[] args) {
AbclScriptEngine scriptEngine = (AbclScriptEngine) new AbclScriptEngineFactory()
.getScriptEngine();
try {
scriptEngine.eval("(format t \"Hello, World!~%\")");
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
第四步:让我们构建并打包我们的应用程序。

在包含 pom.xml 的文件夹中,

mvn package
第五步:运行它
$ java -jar target/ColbertNightmare-jar-with-dependencies.jar
Hello, World!
结论

类似上面的东西可以用来创建一个使用 ABCL 的可执行 jar。另外,Stephen Colbert警告我们注意熊(在他们武装之前)。我认为他们现在是一个更大的威胁。

关于java - 如何使用 armed bear common lisp 创建一个 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61381499/

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