相关疑难解决方法(0)

如何在Java中将字节数组转换为十六进制字符串?

我有一个字节数组填充十六进制数字和打印它简单的方法是非常没有意义的,因为有许多不可打印的元素.我需要的是以下形式的确切十六进制代码:3a5f771c

java hex bytearray

606
推荐指数
16
解决办法
67万
查看次数

使用Java将十六进制转储的字符串表示形式转换为字节数组?

我正在寻找一种方法来转换长字符串(从转储),它表示十六进制值到一个字节数组.

我不能比在这里发布相同问题的人更好地措辞.

但为了保持原创,我会用自己的方式来表达它:假设我有一个"00A0BF"我想要解释为的字符串

byte[] {0x00,0xA0,0xBf}
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我是Java新手,最后使用BigInteger并注意领先的十六进制零.但我觉得它很难看,我确信我错过了一些简单的东西.

java hex byte dump

353
推荐指数
12
解决办法
44万
查看次数

pom.xml中<dependency>下的<scope>是什么?

查看文档http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html,我们可以看到<scope>标签下<dependency>

那是什么以及我们如何使用它来运行测试?

pom.xml maven

168
推荐指数
4
解决办法
14万
查看次数

使用Java EE API替换已弃用的JPMS模块

Java 9 弃用了六个包含Java EE API的模块,它们很快被删除:

  • javax.activation包的java.activation
  • java.corbajavax.activity,javax.rmi,javax.rmi.CORBA,和org.omg.*
  • javax.transaction包的java.transaction
  • 包含所有javax.xml.bind.*包的java.xml.bind
  • java.xml.wsjavax.jws,javax.jws.soap,javax.xml.soap,和所有javax.xml.ws.*
  • javax.annotation包的java.xml.ws.annotation

哪些维护的第三方工件提供了这些API?它们提供这些API或它们必须提供的其他功能并不重要 - 重要的是,它们是这些模块/包的直接替代品吗?

为了更容易收集知识,我回答了迄今为止我所知道的并将答案作为社区维基.我希望人们能够扩展它,而不是写出自己的答案.


在您投票结束之前:

  • 是的,已经有一些关于单个模块的问题,这个问题的答案当然会复制这些信息.但AFAIK没有任何一点可以了解所有这些,我认为这些有很大的价值.
  • 提出图书馆建议的问题通常被认为是偏离主题的,因为"他们倾向于吸引自以为是的答案和垃圾邮件",但我不认为这适用于此.明确描述了一组有效的库:它们必须实现特定的标准.除此之外别无其他,所以我没有看到很多意见和垃圾邮件的风险.

java java-ee java-9 java-module

150
推荐指数
6
解决办法
5万
查看次数

从.XSD文件生成Java类......?

我有一个巨大的QuickBooks SDK .XSD模式文件,它定义了我可以从QuickBooks发送/接收的XML请求/响应.

我希望能够从这些.XSD文件轻松生成Java类,然后我可以使用它来将XML编组为Java对象,将Java对象编组为XML.

是否有捷径可寻...?

理想情况下,在运行时不需要基本Java发行版外部的任何库.但我很灵活......

java xml xsd

122
推荐指数
11
解决办法
28万
查看次数

React Native错误:"无法确定'9.0.1'中的java版本."

我正在研究MacOS并且刚开始react-native.

开始的第一步是运行:react-native run-androidreact-native run-ios.但是我收到了这个错误:

react-native run-android
Run Code Online (Sandbox Code Playgroud)

这是我跑步时得到的java --version:

Scanning folders for symlinks in /Users/ric/myprojs/albums/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '9.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not …
Run Code Online (Sandbox Code Playgroud)

gradle react-native

101
推荐指数
5
解决办法
9万
查看次数

Java 11包javax.xml.bind不存在

我正在尝试使用JAXB将XML数据反序列化为Java内容树,在解组时验证XML数据:

try {
  JAXBContext context = JAXBContext.newInstance("com.acme.foo");
  Unmarshaller unmarshaller = context.createUnmarshaller();
  unmarshaller.setSchema(schema);
  FooObject fooObj = (FooObject) unmarshaller.unmarshal(new File("foo.xml"));
} catch (UnmarshalException ex) {
  ex.printStackTrace();
} catch (JAXBException ex) {
  ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

当我使用Java 8构建项目时,它很好,但使用Java 11构建它失败并出现编译错误:

package javax.xml.bind does not exist
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

java jaxb java-11

99
推荐指数
1
解决办法
9万
查看次数

无法使用Java 9运行sdkmanager --list(Android SDK)

我下载并安装了:

  • JDK(jdk-9.0.1_osx-x64_bin.dmg从Oracle)在这里
  • Android的SDK( sdk-tools-darwin-3859397.zip)从谷歌在这里.

配置PATH变量后,我尝试运行sdkmanager,它取代了android管理SDK组件的命令.但是,它失败了,如下所示:

$ sdkmanager --list
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 5 more
Run Code Online (Sandbox Code Playgroud)

这是Java版本:

$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何修复它而不回到Java 8?

相关问题

  • 无法安装android-sdk
    • 这篇文章提出了类似的问题.但是,帖子已经关闭,唯一的答案就是回到Java 8.

java android android-sdk-tools android-sdk-manager java-9

79
推荐指数
12
解决办法
6万
查看次数

如何使用命令update-alternatives --config java

我在Linux Debian(Squeeze)上安装Apache Solr.我被指示安装sun-java jdk 1st.然后告诉我应该使用该命令sudo update-alternatives --config java来确保特定的java(sun-java)是默认的运行时.然而,当我运行此命令时,我得到:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/bin/gij-4.4                           1044      manual mode
  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  3            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number:
Run Code Online (Sandbox Code Playgroud)

那么我应该选择哪个数字将sun-java作为默认运行时?此外,自动和手动模式到底意味着什么?如果我选择上面的3并运行update-alternative命令,我会收到与上面相同的输出,除了*现在位于3的前面之外,似乎没有任何改变,尽管它仍然是读取手动模式.

有没有办法确认我所做的是正确的?

java debian

56
推荐指数
8
解决办法
16万
查看次数

我应该在Maven项目中为JAXB RI使用哪些工件?

从历史上看,我总是在我的Maven项目中使用以下JAXB RI工件:

  • com.sun.xml.bind:jaxb-impl - 运行
  • com.sun.xml.bind:jaxb-xjc - 模式编译器
  • com.sun.xml.bind:jaxb-jxc - 模式生成器

从大约版本开始,2.2.10*这些工件现在被描述为"旧":

com.sun.xml.bind:jaxb-impl

旧的JAXB运行时模块.

所以看起来这些工件现在已经过时了.

问题是:

应该使用哪些工件?

java jaxb jaxb2 maven

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