小编Gel*_*ant的帖子

hdf5在maven项目中

我正在尝试将hdf.hdf5lib.H5导入到NetBeans中的maven项目中.它有这个作为进口线

import hdf.hdf5lib.H5;
Run Code Online (Sandbox Code Playgroud)

如下所示:https://support.hdfgroup.org/products/java/JNI3/jhi5/index.html

但是,它抛出了这个异常:

java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code - package hdf.hdf5lib does not exist
Run Code Online (Sandbox Code Playgroud)

NetBeans已经通过在输入行说"packadge不会激动"来警告我.所以我让它"在Maven存储库中搜索依赖项".它找到了一些东西,并将其添加到我的pom.xml中:

<dependency>
    <groupId>org.hdfgroup</groupId>
    <artifactId>hdf-java</artifactId>
    <version>2.6.1</version>
    <type>jar</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)

不幸的是,它在导入行保持警告"packadge不会激活"和错误异常.看来这个对pom.xml的补充什么也没做.

我是所有这些的初学者,所以也许解决方案很明显,但我找不到它.这些问题可以追溯到2012年至2014年,但对我没有帮助:

http://hdf-forum.184993.n3.nabble.com/maven-repository-for-java-release-td4026938.html

http://hdf-forum.184993.n3.nabble.com/HDF-Java-on-Maven-td4025772.html

将hdf5 libs(java&c ++)添加到公共maven存储库?

如何在NetBeans的Windows Java项目中使用HDF5

hdf5 Java库入门

正如ddarellis所建议的那样,这可能是一个版本问题.似乎有两种选择.

  • HDF Java 3.3.2和HDF5-1.8.19(HDFView版本2.14)
  • Java HDF对象包3.0.0和HDF5-1.10

我会尝试两者,但maven建议使用HDF Java 2.6.1是错误的.

这篇文章有助于将jarhdf5-3.3.2.jar添加到依赖项中.

https://forums.netbeans.org/post-62903.html#62903

  1. 在Maven项目中打开"添加依赖项"对话框
  2. 组成一些groupId,artifactId和版本并填充它们,好的.
  3. 依赖关系将添加到pom.xml中,并将显示在maven项目的"Libraries"节点下
  4. 右键单击Lib节点并"手动安装工件",填充jar的路径Jar应该安装到本地Maven仓库,并在步骤2中输入坐标).

好的,所以我安装了HDF5 1.8.19 HDFView2.14并将jarhdf5-3.3.2添加到依赖项中.但是,当我尝试运行时,我收到此错误:

Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at hdf.hdf5lib.H5.<clinit>(H5.java:230)
Run Code Online (Sandbox Code Playgroud)

java netbeans hdf5 maven

8
推荐指数
2
解决办法
1301
查看次数

Matlab中的GZIP用于大文件

我有一个函数解包一个Z使用zlib库打包的字节数组(从这里改编).

  • 打包数据大小为4.11 GB,解压缩数据为6.65GB.我有32GB的内存,所以这远远低于限制.
  • 我尝试将java堆大小增加到15.96GB,但这没有帮助.
  • MATLAB_JAVA环境变量指向jre1.8.0_144.

我得到了神秘的错误

'MATLAB array exceeds an internal Java limit.' 
Run Code Online (Sandbox Code Playgroud)

在第2 此代码的行:

import com.mathworks.mlwidgets.io.InterruptibleStreamCopier
a=java.io.ByteArrayInputStream(Z);
b=java.util.zip.GZIPInputStream(a);
isc = InterruptibleStreamCopier.getInterruptibleStreamCopier;
c = java.io.ByteArrayOutputStream;
isc.copyStream(b,c);
M=typecast(c.toByteArray,'uint8');
Run Code Online (Sandbox Code Playgroud)

试图实施Mark Adler的建议:

Z=reshape(Z,[],8);
import com.mathworks.mlwidgets.io.InterruptibleStreamCopier
a=java.io.ByteArrayInputStream(Z(:,1));
b=java.util.zip.GZIPInputStream(a);
for ct = 2:8,b.read(Z(:,ct));end
isc = InterruptibleStreamCopier.getInterruptibleStreamCopier;
c = java.io.ByteArrayOutputStream;
isc.copyStream(b,c);
Run Code Online (Sandbox Code Playgroud)

但在此isc.copystream我得到这个错误:

Java exception occurred:
java.io.EOFException: Unexpected end of ZLIB input stream

    at java.util.zip.InflaterInputStream.fill(Unknown Source)

    at java.util.zip.InflaterInputStream.read(Unknown Source)

    at java.util.zip.GZIPInputStream.read(Unknown Source)

    at java.io.FilterInputStream.read(Unknown Source)

    at com.mathworks.mlwidgets.io.InterruptibleStreamCopier.copyStream(InterruptibleStreamCopier.java:72)

    at com.mathworks.mlwidgets.io.InterruptibleStreamCopier.copyStream(InterruptibleStreamCopier.java:51)
Run Code Online (Sandbox Code Playgroud)

直接从文件 …

java matlab gzip zlib matlab-java

2
推荐指数
1
解决办法
450
查看次数

标签 统计

java ×2

gzip ×1

hdf5 ×1

matlab ×1

matlab-java ×1

maven ×1

netbeans ×1

zlib ×1