有没有更好的方法从命令行打印系统属性?我们可以设置属性,例如
java -D<name>=<value> //set a system property
Run Code Online (Sandbox Code Playgroud)
没有写一个班来做那个?如果不可能,为什么从命令行执行此操作不可行/可行/不好?
我为 MacOS 分发了一个 Java 应用程序,它经过开发人员签名但未经过公证。不确定从哪里开始,因为文档太偏向于使用我不使用的 Xcode 创建应用程序,但我只想用最简单的方法来公证我的应用程序,然后继续。
阅读文档我已经有一些担忧:
我目前正在使用 Java 8,是否可以对 Java 8 应用程序进行公证,或者我是否需要迁移到 Java 11。我宁愿不迁移到 Java 11,因为它会在我支持的其他一些平台上引起问题。
我的开发 Mac 机器是旧的 MacBook Pro,因此无法更新到 OSX El Capitan 10.11.6 之后,我可以用这台机器公证吗?我确实有一台更新的机器,但它没有设置用于开发,我对将 Developer Id 证书转移给它有一些担忧,因为首先设置它是有问题的。
我使用 AppBundler fork https://github.com/TheInfiniteKind/appbundler/来打包我的应用程序
这由执行签名等操作的 ant 脚本构建文件调用,我们最终使用 dmgCanvas 创建了一个 dmg
我在下面发布了蚂蚁脚本,希望有人可以从基本步骤开始
#!/bin/bash
#set -x
cd /Users/paul/code/jthink/songkong/src/main/scripts
hiutil -C -fapplehelpbook/SongKongHelp/SongKongHelp.helpindex applehelpbook/SongKongHelp/
cd /Users/paul/code/jthink/songkong
rm -fr /Applications/SongKong.app
mvn clean
mvn -DskipTests=true install
rm -fr target/songkong-6.6
unzip target/songkong-6.6-distribution.zip -d target
ant
sudo cp -r target/songkong-6.6/applehelpbook/SongKongHelp /Applications/SongKong.app/Contents/Resources
rm /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_192.jdk/Contents/MacOS/libjli.dylib
cp /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_192.jdk/Contents/Home/jre/lib/jli/libjli.dylib /Applications/SongKong.app/Contents/PlugIns/jdk1.8.0_192.jdk/Contents/MacOS …Run Code Online (Sandbox Code Playgroud)AdoptOpenJDK 的 JRE 11+ 是否与仅使用jlink并添加所有依赖项相同?
Oracle Java 11 及更高版本不附带仅 JRE 的 JDK,因为您可以使用jlink构建自己的 JRE,其中仅包含您需要的系统模块,这就是我在 Windows 和 Linux 上所做的。
然而,对于如何为某些平台(Docker 和 MacOS)合并 jlinked JRE 对我来说并不是那么明显,并且由于 AdoptOpenJDK 不仅为 JDK 还提供了 JRE 的二进制文件,我想我可能只为这些平台使用 JRE。但是,如果我将 JDK 链接起来并包含所有系统模块依赖项,JRE 是否包含我会得到的所有内容?