小编Fun*_*her的帖子

充气城堡安全提供程序不会在 Java 11/12 下加载

我正在尝试做一些应该是微不足道的事情,但我面临着一个问题。

将 JavaFx 应用程序从 Java 8 迁移到 Java 11 后,充气城堡安全提供程序将不会加载(也尝试了 Java 12,结果相同)。这是我更新为使用 Java 11 兼容插件的 Maven 项目。它编译得很好,但是在运行时我在终端窗口中得到了这个:

jar .Launcher java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at javafx.graphics/com.sun。 javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) 在 javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl。 invoke0(Native Method) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java。base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at java.base/sun.launcher.LauncherHelper$ FXHelper.main(LauncherHelper.java:1051) 由:java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider at .Launcher.main(Launcher.java:14) ... 11 引起:java.lang.ClassNotFoundException:org.bouncycastle.jce。 provider.BouncyCastleProvider 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 在 java。 base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 12 更多

在我的 java.security 中,我将充气城堡提供者作为第一个提供者(也尝试将其作为最后一个提供者,但结果相同)

#
# List of providers and their preference orders (see above):
# …
Run Code Online (Sandbox Code Playgroud)

java bouncycastle maven-3 maven java-11

7
推荐指数
1
解决办法
4440
查看次数

Samsung Pass(指纹)SDK - 无法在Galaxy 6设备上使用密码作为后备

我使用Samsung Pass SDK(1.20)来验证拥有带指纹扫描仪的Samsung Android设备的用户.我需要让用户输入他/她的密码作为指纹扫描的替代方法(与Android锁屏相同).

在运行Android 5的三星设备中 - 它运行正常.该对话框显示一个带有"备份密码"文本的按钮,用户可以输入密码进行身份验证,但在Android 6.0及更高版本中 - 它不起作用.

使用该函数isFeatureEnabled(DEVICE_FINGERPRINT_AVAILABLE_PASSWORD)返回false.

看起来三星已在Android 6设备中禁用此功能.我在文档中找不到任何关于此的内容.

这有什么理由吗?更重要的是,有没有任何解决方法(当然不是黑客)?

谢谢!

android fingerprint samsung-mobile-sdk

6
推荐指数
0
解决办法
529
查看次数

如何检测 gradle 项目是应用程序还是库?

我正在编写 Android Studio Gradle 插件,我需要做的事情之一是迭代项目并检测它们是否属于 Android 应用程序或库类型(或非 Android 项目,如通用 java 库)。

我尝试使用以下代码,但它无法正常工作(检测应用程序但不检测库):

import com.android.build.gradle.AppPlugin
import com.android.build.gradle.LibraryPlugin

...

public void getVariants(){
...
    def hasApp = p.plugins.withType(AppPlugin)
    def hasLib = p.plugins.withType(LibraryPlugin) 
    
    ...
}
Run Code Online (Sandbox Code Playgroud)

Groovy 脚本中是否还有其他正确的方法来检测项目是否属于类型库?

groovy android android-studio gradle-plugin

5
推荐指数
1
解决办法
1441
查看次数

Java:如何使用正则表达式从Json键中删除引号

我需要从复杂的Json结构中删除双引号(带有子对象的对象和层次结构中的数组).我用Java编写(该应用程序将在Android上运行).

我已经有了从Json lib(Gson)生成的字符串,我试图使用正则表达式去除双引号,而不是将其反序列化回一个对象,然后在没有键名称中的双引号的情况下序列化它.

我无法找到合适的图案来替换它们.

示例Json:

{
"key1":"value1",
"key2":"555f9ecd-2ced-42b7-b956-33e759bf8db1",
"key3":false,
"key4_parent":{
"child_key5":"Android",
"id":"7ae2facc-cdb3-7ae2-facccdb3bb86",
"name":"danny",
"bypassed":false
},
"object1":{
"deviceType":"Android",
"id":"7ae2facc-cdb3-7ae2-facccdb3bb86",
"base64val":"MENPSENJTFpZQzR3b1lvU1pQZTk=",
"name":"john"
},
"requiredLevel":"PUSH",
"level":"debug",
"status":1012,
"description":"Authentication in progress",
"objects":[
{
"deviceType":"Android",
"id":"7ae2facc-cdb3-7ae2-facccdb3bb86",
"base64val":"MENPSENJTFpZQzR3b1lvU1pQZTk=",
"name":"john"
},
{
"deviceType":"Android",
"id":"7ae2facc-cdb3-7ae2-facccdb3bb86",
"base64val":"MENPSENJTFpZQzR3b1lvU1pQZTk=",
"name":"john"
}
]
}
Run Code Online (Sandbox Code Playgroud)

预期产量:

{
key1:"value1",
key2:"555f9ecd-2ced-42b7-b956-33e759bf8db1",
key3:false,
key4_parent:{
child_key5:"Android",
id:"7ae2facc-cdb3-7ae2-facccdb3bb86",
name:"danny",
bypassed:false
},
object1:{
deviceType:"Android",
id:"7ae2facc-cdb3-7ae2-facccdb3bb86",
base64val:"MENPSENJTFpZQzR3b1lvU1pQZTk=",
name:"john"
},
requiredLevel:"PUSH",
level:"debug",
status:1012,
description:"Authentication in progress",
objects:[
{
deviceType:"Android",
id:"7ae2facc-cdb3-7ae2-facccdb3bb86",
base64val:"MENPSENJTFpZQzR3b1lvU1pQZTk=",
name:"john"
},
{
deviceType:"Android",
id:"7ae2facc-cdb3-7ae2-facccdb3bb86",
base64val:"MENPSENJTFpZQzR3b1lvU1pQZTk=",
name:"john"
}
]
} …
Run Code Online (Sandbox Code Playgroud)

java regex

3
推荐指数
1
解决办法
1641
查看次数

Maven JavaFx 项目编译但从控制台运行时给出“缺少 JavaFX 应用程序类”错误消息

我正在将我的 Maven JavaFX 应用程序从 Java 8 迁移到 Java 11。我将 pom.xml 中的插件更新为最新的(兼容 Java 11 的)插件。编译运行良好,在“目标”文件夹下的正确目录中为我提供了 jar 以及所有依赖项和模块,但是当我尝试运行 jar 文件时,我收到了可怕的“缺少 JavaFX 应用程序类”错误。无论我如何尝试更改插件配置 - 我总是收到此错误消息,并且应用程序将无法运行。

现在,更多发现: 1. 主类确实位于类下的正确文件夹和 jar 中。2. Manifest 文件位于正确的位置,并且包含主类属性(在 Java 8 下工作正常)。

这是相关部分

<plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
            <source>11</source>
            <release>11</release>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>
            <compilerVersion>11</compilerVersion>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>7.0</version>
            </dependency>
        </dependencies>
</plugin>
<plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                   <addClasspath>false</addClasspath>
                   <mainClass>${mainClass}</mainClass>
                </manifest>
                <manifestEntries>
                   <JavaFX-Application-Class>${mainClass}</JavaFX-Application-Class>
                </manifestEntries>
             </archive>
             <outputDirectory>${project.build.directory}/libs</outputDirectory>
        </configuration>
</plugin>
<plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
                <execution>
                        <id>copy-libs</id>
                        <phase>prepare-package</phase>
                        <goals>
                                <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                                <outputDirectory>${project.build.directory}/libs</outputDirectory>
                                <includeScope>runtime</includeScope>
                                <excludeGroupIds>org.openjfx</excludeGroupIds> …
Run Code Online (Sandbox Code Playgroud)

java javafx maven maven-compiler-plugin java-11

0
推荐指数
1
解决办法
1871
查看次数