小编Rob*_*ert的帖子

JAXB:反序列化扩展A类的B类的问题

请考虑以下示例:

有一个ClassA和一个ClassB扩展它.我现在的问题是我必须从xml文件解组ClassB.请注意,ClassA不能更改,因为它不在我的控制之下.

在此示例中注意到几个问题:

主要问题是ClassA没有默认的no-arg构造函数,这是JAXB在没有Adapter的情况下所需的.因此,我实现MyAdapter它映射ClassB的到简单的类值Valb其可以通过JAXB没有任何问题地处理.

主要问题是如何让JAXB使用这个适配器?既不在类级别定义 @XmlJavaTypeAdapter也不在unmarshaller中注册适配器.

有没有人知道如何使JAXB使用MyAdapter,以便unmarshaller返回一个ClassA实例的对象?

public class JaxbTest {

    public static abstract class ClassA {
        public ClassA(String id) {
        }
    }

    @XmlRootElement
    @XmlJavaTypeAdapter(MyAdapter.class) // does not have an effect
    public static class ClassB extends ClassA {

        public String text;

        public ClassB() {
            super("");
        }
    }

    public static class ValB {
        public String text;
    }

    public static class …
Run Code Online (Sandbox Code Playgroud)

java constructor jaxb adapter unmarshalling

6
推荐指数
1
解决办法
2098
查看次数

是否有任何用于将xml架构转换为Linux数据库架构的开源工具?

是否有任何开源工具将xml架构转换为linux的数据库架构.我需要的是它应该读取xml架构,生成相应的数据库架构并使用它创建表.我试着谷歌,我能找到的只是xsd2db,用c#编写,但对我没用.我正在使用centos,我的数据库是postgresql.任何帮助表示赞赏.提前致谢.

linux postgresql xsd database-schema

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

用于字节数组操作的Java库?

是否有一个免费的库包含用于操作字节数组的常用方法?

它至少应该能够对字节数组执行以下操作,但其他数组类型也很好:

  • 搜索子数组
  • 搜索和替换
  • 在某个位置插入元素
  • 删除某个位置的子数组

我知道所有这些功能都不是很高的魔法,但完全实现它们以及傻瓜和错误证明(包括相应的单元测试)需要一些时间。

因此,我正在寻找包含这些功能的(非 GPL)库。有人知道这样的图书馆吗?

java arrays

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

mongodb:如何将索引用于不同的命令和查询?

我对使用查询的非常慢的不同命令有一些问题。 根据我所观察到的,如果您未指定查询,则 distinct 命令仅使用索引

我在我的 MongoDB 3.0.10 服务器上用 1Mio 对象创建了一个测试数据库。每个对象如下所示:

{
    "_id" : ObjectId("56e7fb5303858265f53c0ea1"),
    "field1" : "field1_6",
    "field2" : "field2_10",
    "field3" : "field3_29",
    "field4" : "field4_64"
}
Run Code Online (Sandbox Code Playgroud)

字段值末尾的数字是随机的 0-99。

在集合上创建了两个简单索引和一个复合索引:

{ "field1" : 1 } # simple index on "field1"
{ "field2" : 1 } # simple index on "field2"
{                # compound index on all fields
    "field2" : 1,
    "field1" : 1,
    "field3" : 1,
    "field4" : 1
}
Run Code Online (Sandbox Code Playgroud)

现在我对该数据库执行不同的查询:

db.runCommand({ distinct: 'dbtest',key:'field1'})
Run Code Online (Sandbox Code Playgroud)

结果包含 100 个值,nscanned=100 并且它在“field1”上使用了索引。

现在相同的不同查询受到查询的限制: …

indexing distinct mongodb

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

是否可以通过adb shell启动活动并接收其响应?

我知道,你可以从任何应用程序启动任何出口活动通过adb使用以下命令:

am start -n com.myapp.test/.TestActivity
Run Code Online (Sandbox Code Playgroud)

使用该"am start"命令还可以向活动发送额外的数据(我知道如何做到这一点,这不是我在这里问的问题!).

但是,我需要知道的是,是否还可以接收从已启动活动完成后发回的响应数据?

shell android android-activity activity-manager

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

为什么 reqwest 需要安装 OpenSSL?

我试图让一个基本的reqwesthttp 请求像这样

extern crate reqwest;
extern crate url;

use url::Url;

fn main() {
    let resp = reqwest::get("http://google.com".parse::<Url>().unwrap());
    println!("{:?}", resp.unwrap())
}
Run Code Online (Sandbox Code Playgroud)

但是,这会产生错误

找不到 OpenSSL 安装目录,-sys如果不了解此信息,此板条箱将无法继续。如果安装了 OpenSSL 并且此 crate 无法找到它,则可OPENSSL_DIR以为编译过程设置环境变量。

确保您还安装了 openssl 的开发包。例如,libssl-dev在 Ubuntu 或openssl-develFedora 上。

...

嗯,这很容易解决。一个调用sudo apt install libssl-devsudo apt install pkg-config它的工作。但我仍然不明白这里到底出了什么问题。我认为cargo应该照顾依赖。为什么我现在要手动狩猎它们apt

ssl openssl rust reqwest

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

如何使用AndroidcameraX访问外部USB摄像头?

我正在按照此Codelab创建一个cameraX应用程序。

它在我的手机上运行良好。但我正在开发的应用程序是针对 Android 媒体播放器的。它没有任何内置摄像头,仅连接了外部 USB 摄像头。

这是我启动相机的代码。

private void startCamera() {
    ListenableFuture<ProcessCameraProvider> cameraProviderFuture = ProcessCameraProvider.getInstance(this);
    Preview preview = new Preview.Builder().build();
    preview.setSurfaceProvider(viewFinder.getSurfaceProvider());
    imageCapture = new ImageCapture.Builder().build();
    cameraProviderFuture.addListener(() -> {
                try {
                    ProcessCameraProvider cameraProvider = cameraProviderFuture.get();
                    cameraProvider.unbindAll();
                    cameraProvider.bindToLifecycle(this, CameraSelector.DEFAULT_BACK_CAMERA,preview,imageCapture);
                } catch (ExecutionException e) {
                    e.printStackTrace();
                    Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                    Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
                }
                catch (IllegalArgumentException e){
                    Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
                }
            }, ContextCompat.getMainExecutor(this)
    );


}
Run Code Online (Sandbox Code Playgroud)

它抛出IllegalArgumentException说没有连接相机。

cameraProvider.bindToLifecycle(this, CameraSelector.DEFAULT_BACK_CAMERA,preview,imageCapture);

唯一CameraSelector.DEFAULT_FRONT_CAMERACameraSelector.DEFAULT_BACK_CAMERA 可用。 …

android android-camera android-camerax

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

通过HTTP/mod_svn访问SVN repo的旧版本

使用mod_svn模块进行apache,您可以通过SVN客户端访问存储库而不是onl,也可以使用相同的URL直接通过HTTP访问存储库.在这种情况下,您只能获得显示HEAD修订版的普通目录列表.

如果SVN存储库中的网络被复制/标记,则可以(可能通过URL参数)访问SVN存储库的旧版本?

我知道有第三方软件允许这样做,如ViewCV或WebSVN,但我感兴趣的是你只能通过mod_svn和HTTP(S)访问一个普通的SVN存储库.

svn apache

4
推荐指数
1
解决办法
3651
查看次数

如何在 Android 中以编程方式在“设置”中打开“应用程序权限”页面?

我知道已经有很多问题了。
但是今天我发现了这个:

在此处输入图片说明

在此处输入图片说明

我的手机是 Gallaxy Note 4 和三星画廊应用程序就像我想要的那样“从活动打开应用程序权限页面!” 不是设置详细信息页面。

有谁知道怎么做?

java android

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

通过标准JDK 11使用graalvm

我的项目使用了Nashorn Javascript引擎。我正在尝试迁移到java11,也从Nashorn迁移到Graal。我在这里阅读可以从JDK 11开始通过标准JDK安装来使用graal。此外,我还阅读了Graal-SDK已上传到Maven Central的信息,并且具有Java标记polyglot.js.nashorn-compat以方便迁移。因此,我使用了jdk11,将maven依赖项添加到pom.xml中,并使用了Java标志,但是当我尝试通过名称“ graal.js”获取引擎时,此处为null:

ScriptEngine engine = engineManager.getEngineByName("graal.js")
Run Code Online (Sandbox Code Playgroud)

我想念的是什么?如何使其运作?

java nashorn graalvm java-11

4
推荐指数
1
解决办法
2494
查看次数