标签: jlink

从Mathematica上传图片到Imgur

这是对所有mathematica标记粉丝的挑战.让我们通过创建一个imgur上传器将图像插入到Mathematica的SO帖子中更加方便.

我们如何创建一个imgur[g_]将光栅化其参数的函数(确保最终大小不超过StackOverflow帖子的宽度),将其转换为PNG,将其上传到imgur,并返回准备粘贴的MarkDown行,如![Mathematica graphic](http://i.imgur.com/ZENa4.jpg)

有用的参考:

我没有调整后一种方法来上传图像而不先将其导出到文件中.


警告,小心使用!StackOverflow使用单独的imgur安装,可以无限期地保留图像.如果你使用主要的imgur,如果没有人看到它们,图像将在6个月后消失.不幸的是,截至2011年11月,似乎没有正式的方式以编程方式将图像上传到StackOverflow.


更新: 请参阅下面的解决方案,直接上传到StackOverflow .

post wolfram-mathematica jlink imgur

53
推荐指数
3
解决办法
3087
查看次数

如何从Java Web Start(JDK 8)升级到jlink(JDK 9+)以获取自动更新应用程序?

Java 8和早期版本具有Java Web Start,它在我们更改应用程序时自动更新应用程序.Oracle建议用户迁移到jlink,因为这是新的Oracle技术.到目前为止,这听起来不错.这带来了许多好处:

  1. Windows,Mac和Linux上的本机代码
  2. 代码的模块化(尽管Proguard也这样做)
  3. 使用新的,支持的技术.

问题:我找不到使用jlink自动更新的规范Java解决方案.

有人会认为Java Web Start可以继续使用,特别是如果随便读取这个文档.请注意Java Web Start继续显着列出的事实.但美中不足的是:Oracle正在弃用Java Web Start.它将在JDK 11中删除.那么,正式的道路是什么呢?如果不这样做,人们会采用标准方式吗?

出于本问题的目的,以下内容超出范围:

  • 每年向拥有功能丰富的企业解决方案的人支付巨额资金.要分发的应用程序已经打包到一个小于50MB的jar中.
  • 强制用户运行InstallShield样式应用程序以重新安装新版本,然后在每次推送更新时手动卸载旧版本.那是1990年代的.
  • 将整个应用程序移植为webapp,重写UI和客户端逻辑以适应浏览器并处理所需的所有不兼容性.该应用程序的作者致力于GWT并确切知道Web浏览器的功能.不幸的是,他们也知道所需的努力程度.
  • 允许用户继续运行旧版本的应用程序.这也是1980年代的事情.现代应用程序可以快速更新,并且支持所发布的每个应用程序版本都不可行.这就是我父亲的COBOL应用程序必须处理的事情,他并不喜欢它.我希望技术进步.
  • 继续使用Java Web Start.除非Oracle改变主意,否则Java Web Start是一种注定要失败的技术.

java deployment java-web-start jlink java-9

48
推荐指数
1
解决办法
1163
查看次数

使用Jlink在一个平台上为另一个平台创建Java运行时映像

我在Linux机器上使用jlink创建了运行时映像.我linuxinclude文件夹下看到了文件夹.这是否意味着我只能将此运行时映像用于Linux平台?如果是,有没有办法在一个平台上为另一个平台创建运行时映像(例如在Linux for Windows上,反之亦然)

java jlink java-platform-module-system java-9 java-module

18
推荐指数
2
解决办法
3112
查看次数

Java 11 JLink 获取错误:自动模块不能与 jlink 一起使用:来自文件的 com.microsoft.sqlserver.jdbc

我正在尝试使用 Java 11 将 JDBC 连接器模块添加到我的项目中。我下载了用于 Java 11 的 MSSqlServer JDBC 驱动程序 7.2

https://www.microsoft.com/en-us/download/details.aspx?id=57782

我添加了模块:

requires com.microsoft.sqlserver.jdbc;
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试清理+构建时,NetBeans 告诉我:

Error: automatic module cannot be used with jlink: com.microsoft.sqlserver.jdbc from file: /sqljdbc_7.2/enu/mssql-jdbc-7.2.2.jre11.jar
Run Code Online (Sandbox Code Playgroud)

我很确定这是因为 jar 没有编译的module-info.java. 但是,我想知道是否有办法在那里注入一个?

java jdbc jlink

14
推荐指数
1
解决办法
4200
查看次数

如何运行JDK 9 jlink生成的图像?

我在这里关注Jigsaw 快速入门.我成功运行了jlink给出的命令:

jlink --module-path $JAVA_HOME/jmods:mlib --add-modules com.greetings --output greetingsapp
Run Code Online (Sandbox Code Playgroud)

这会生成一个"运行时映像",它是一个展开的目录结构,如下所示:

~ tree -d greetingsapp
greetingsapp
??? bin
??? conf
?   ??? security
?       ??? policy
?           ??? limited
?           ??? unlimited
??? include
?   ??? darwin
??? legal
?   ??? java.base
??? lib
    ??? jli
    ??? security
    ??? server
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我期待一个二进制可执行文件,而不是一个展开的目录树.

bin目录有一个java和一个keytool.我没有看到任何.jar文件或.class文件通过捆绑的java可执行文件运行.

java jlink java-platform-module-system java-9

13
推荐指数
1
解决办法
6091
查看次数

有没有办法在 IntelliJ IDEA 中使用 jlink 来创建自定义的模块化运行时映像?

我正在关注IntelliJ IDEA 2018.2.5 中的Project Jigsaw:Module System Quick-Start Guide。我在 IDE 中做的一切都是正确的,直到链接器部分。有没有办法在 IntelliJ IDEA 中使用 jlink?

jlink(参见JEP 282)是链接器工具,可用于链接一组模块及其传递依赖,以创建自定义的模块化运行时映像(参见JEP 220)。
- Project Jigsaw:模块系统快速入门指南

我在JetBrains Bug & Issue Tracker 中发现了这个能够产生 JLink 人工制品的问题,但它已经开放了 2 年多,甚至没有描述。


作为一种解决方法,我已经看到了这个是否有 maven jigsaw jlink 插件?有趣的问题和最有前途的替代品似乎是Apache Maven JLink Plugin,但它也已经存在 2 年多了,但尚未发布。

java intellij-idea jlink maven java-platform-module-system

13
推荐指数
1
解决办法
2278
查看次数

为什么MappedByteBuffer的array()方法不起作用?

我是Java的新手,并尝试使用Mathematica的Java接口来使用内存映射来访问文件(希望提高性能).

我所拥有的Mathematica代码(我相信)相当于以下Java代码(基于):

import java.io.FileInputStream;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;

public class MainClass {
  private static final int LENGTH = 8*100;

  public static void main(String[] args) throws Exception {
    MappedByteBuffer buffer = new FileInputStream("test.bin").getChannel().map(FileChannel.MapMode.READ_ONLY, 0, LENGTH);
    buffer.load();
    buffer.isLoaded(); // returns false, why?
  }
}
Run Code Online (Sandbox Code Playgroud)

我想array()在缓冲区上使用该方法,所以我首先尝试将缓冲区内容加载到内存中load().但是,即使之后load(),isLoaded()返回falsebuffer.array()抛出异常:java.lang.UnsupportedOperationException at java.nio.ByteBuffer.array(ByteBuffer.java:940).

为什么不加载缓冲区以及如何调用该array()方法?

我的最终目标是获得一系列double的使用asDoubleBuffer().array().该方法getDouble()确实可以正常工作,但我希望能够一次完成这项工作以获得良好的性能.我究竟做错了什么?


正如我在Mathematica中所做的那样,我将发布我使用的实际Mathematica代码(相当于Java中的上述代码):

Needs["JLink`"]
LoadJavaClass["java.nio.channels.FileChannel$MapMode"]
buffer = JavaNew["java.io.FileInputStream", "test.bin"]@getChannel[]@map[FileChannel$MapMode`READUONLY, 0, 8*100] …
Run Code Online (Sandbox Code Playgroud)

java wolfram-mathematica memory-mapped-files jlink

10
推荐指数
1
解决办法
5574
查看次数

如何使用JLink命令为JDK9应用程序创建跨平台可执行文件

我正在尝试为我的JAVA-9应用程序/项目拼图创建跨平台/平台独立的可执行文件.

我认为jlink命令将只创建特定于平台的可执行文件/运行时.

software-distribution jlink java-platform-module-system java-9

10
推荐指数
1
解决办法
2529
查看次数

有maven jigsaw jlink插件吗?

maven是否有新的Java 9的插件jlink我在网上搜索但是未能从maven团队找到任何正式的东西.

java jlink maven java-platform-module-system java-9

10
推荐指数
1
解决办法
1435
查看次数

jlink:ed 应用程序中的记录抛出异常

在 jlink:ed 应用程序中使用记录(预览功能 java-14),在使用选项时会出现以下错误:

options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']

java.lang.ClassFormatError: Invalid constant pool index 11 for name in Record attribute in class file 
myproj/MyClass$MyRecord
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
    at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

java jlink preview-feature java-14 java-record

9
推荐指数
3
解决办法
188
查看次数