小编cod*_*ger的帖子

我可以使用Maven依赖项的路径作为属性吗?

我在我的pom.xml中有一个maven依赖:

<dependency>
    <groupId>com.foo</groupId>
    <artifactId>Bar</artifactId>
    <version>1.2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我想使用二进制的系统路径作为属性(因此我可以将它传递给由maven启动的外部进程).我可以用尴尬的方式做到这一点:

<properties>
    <my.lib>${settings.localRepository}/com/foo/Bar/1.2.3/Bar.jar</my.lib>
</properties>
Run Code Online (Sandbox Code Playgroud)

但我真的想使用更标准的机制,例如:

<properties>
    <my.lib>${com.foo:Bar:1.2.3}</my.lib>
</properties>
Run Code Online (Sandbox Code Playgroud)

我有可能这样吗?

maven-2

40
推荐指数
3
解决办法
3万
查看次数

如何在sbt插件中生成源代码?

我正在尝试生成一些源,如生成文件中所述.

当我把以下内容放入我的时候build.sbt,一切正常:

sourceGenerators in Compile += Def.task {
  val file = (sourceManaged in Compile).value / "demo" / "Test.scala"
  IO.write(file, """object Test extends App { println("Hi") }""")
  Seq(file)
}.taskValue
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在插件中执行相同的操作时,任务永远不会运行:

object MyPlugin extends AutoPlugin {
  override lazy val projectSettings = Seq(
    sourceGenerators in Compile += Def.task {
      val file = (sourceManaged in Compile).value / "demo" / "Test.scala"
      IO.write(file, """object Test extends App { println("Hi") }""")
      Seq(file)
    }.taskValue
  )
}
Run Code Online (Sandbox Code Playgroud)

我放入插件的其他所有内容似乎都运行正常,但源文件永远不会生成.

我错过了重要的事吗?

scala sbt

15
推荐指数
1
解决办法
2100
查看次数

休眠:从列表中删除项目不会保留

从列表中删除项目时遇到问题.该列表在超类中定义,但Hibernate注释应用于子类中的属性访问器.超类中有两种方法可以操作列表."添加"方法工作正常,但"删除"不会持续更改.我检查了我的Cascade设置,我似乎有正确的事情.我做的事情是不可能的.如果没有,我做错了吗?

这是我的课程:

@Entity 
abstract class Temporal<T> { 
    @Id 
    @GeneratedValue 
    private Long id; 

    @Version 
    private Integer version = null; 

    @Transient 
    protected List<T> content = new ArrayList<T>(); 

    public void remove(T value) { 
        // business logic ... 
        content.remove(value); 
    } 

    public void add(T value) { 
        // business logic ... 
        content.add(value); 
    } 
} 

@Entity 
@AccessType("property") 
class TemporalAsset extends Temporal<Asset> { 
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "temporal") 
    public List<Asset> getContent() { 
        return super.content; 
    } 

    protected void setContent(List<Asset> list) { 
        super.content = list; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

我使用TemporalAsset类的实例如下(请注意,我只使用"刷新"方法来演示行为.即使我刷新或关闭会话并打开新会话,列表也不会正确保留):

temporalAsset.add(value1); …
Run Code Online (Sandbox Code Playgroud)

java hibernate

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

如何一次以编程方式运行多个Rake任务?

在命令行,我可以运行这样的多个任务

rake environment task1 task2 task3
Run Code Online (Sandbox Code Playgroud)

我该如何以编程方式执行此操作?我知道我可以运行这样的任务

Rake::Task['task1'].invoke
Run Code Online (Sandbox Code Playgroud)

ruby rake

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

如何在Windows上创建IP别名

我需要为我的网络接口创建一个别名,以便可以使用127.0.0.1或33.33.33.33在本地访问它.

在*nix我会这样做:

sudo ifconfig en1 inet 33.33.33.33/32 alias
Run Code Online (Sandbox Code Playgroud)

似乎该netsh工具可以做同样的事情.如果是这样,怎么样?我看过一些似乎很接近的例子,但我不明白提供的选项.

这样做的动机是在没有端口偏移的同一台机器上运行两个JBossAS实例.因此,他们需要使用相同的端口号而不会发生冲突.

windows ip netsh

12
推荐指数
3
解决办法
8万
查看次数

将enable_nestloop设置为OFF有什么缺陷

我的应用程序中有一个查询,当我的表中有大量行时,它运行得非常快.但是当行数是中等大小(既不大也不小)时 - 相同的查询运行速度要慢15倍.

解释计划显示对中型数据集的查询使用嵌套循环作为其连接算法.大数据集使用散列连接.

我可以阻止查询规划器在数据库级别(postgresql.conf)或每个session(SET enable_nestloop TO off)使用嵌套循环.

有哪些潜在的陷阱set enable_nestloop to off

其他信息:PostgreSQL 8.2.6,在Windows上运行.

postgresql

11
推荐指数
2
解决办法
7156
查看次数

如何在浏览器中隐藏堆栈跟踪(使用Jetty)?

我正在使用Jetty作为我的servlet容器.如果在我的一个servlet中抛出异常,浏览器将显示带有异常消息和堆栈跟踪的HTTP ERROR 500.

出于安全考虑,我需要隐藏堆栈跟踪.有没有办法一般配置这个?或者我是否需要在Servlet中捕获所有Throwables?

谢谢

servlets jetty stack-trace

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

部署 Laravel(后端)和 React(前端)HEROKU

我有 Laravel 应用程序(rest api)和 react/js 应用程序(客户端)。我想将它们部署在 heroku 上。将它们放入一个 git repo 并部署是否有可能实现这一目标?我尝试使用安装后脚本,但没有用。在此处输入代码

编辑。添加了 nodeJS buildpack(安装在服务器上的节点)但似乎 Laravel 覆盖了反应页面Sorry, the page you are looking for could not be found.

javascript android heroku laravel

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

JAXB注释 - 映射接口和@XmlElementWrapper

我遇到了一个字段的JAXB注释有问题,该字段是一个列表,其泛型类型是一个接口.当我宣布如下:

@XmlAnyElement
private List<Animal> animals;
Run Code Online (Sandbox Code Playgroud)

一切都正常.但是当我添加一个包装元素时,例如:

@XmlElementWrapper
@XmlAnyElement
private List<Animal> animals;
Run Code Online (Sandbox Code Playgroud)

我发现Java对象正确编组,但是当我解组由编组创建的文档时,我的列表是空的.我已经在代码下面发布了演示此问题的代码.

我做错了什么,或者这是一个错误?我已经尝试使用版本2.1.12和2.2-ea,结果相同.

我正在通过示例来映射带有注释的接口: https://jaxb.dev.java.net/guide/Mapping_interfaces.html

@XmlRootElement
class Zoo {

  @XmlElementWrapper
  @XmlAnyElement(lax = true)
  private List<Animal> animals;

  public static void main(String[] args) throws Exception {
    Zoo zoo = new Zoo();
    zoo.animals = new ArrayList<Animal>();
    zoo.animals.add(new Dog());
    zoo.animals.add(new Cat());

    JAXBContext jc = JAXBContext.newInstance(Zoo.class, Dog.class, Cat.class);
    Marshaller marshaller = jc.createMarshaller();

    ByteArrayOutputStream os = new ByteArrayOutputStream();
    marshaller.marshal(zoo, os);

    System.out.println(os.toString());

    Unmarshaller unmarshaller = jc.createUnmarshaller();
    Zoo unmarshalledZoo = (Zoo) unmarshaller.unmarshal(new ByteArrayInputStream(os.toByteArray()));

    if (unmarshalledZoo.animals == null) { …
Run Code Online (Sandbox Code Playgroud)

annotations interface jaxb

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

如何通过Play设置HikariCP池大小

在不带Slick和不带Slick的情况下配置HikariCP池大小的正确方法是什么?

我已经尝试了光滑:

slick.dbs.default.db.minimumIdle=30
slick.dbs.default.db.maximumPoolSize=30
Run Code Online (Sandbox Code Playgroud)

(其他属性,例如connectionTestQuery似乎可以这种方式工作)

而且没有滑动,我尝试了以下各种组合:

play.db.default.minimumIdle=30
play.db.default.maximumPoolSize=30
Run Code Online (Sandbox Code Playgroud)

和:

play.db.default.prototype.hikaricp.minimumIdle=30
play.db.default.prototype.hikaricp.maximumPoolSize=30
Run Code Online (Sandbox Code Playgroud)

我看过文档,但似乎没有任何保留。

playframework slick hikaricp

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

使用Rhino和JSR-223读取JSON文件

我正在尝试使用一些JavaScript来读取JSON文件,我正在通过Java JSR-223 API与Rhino一起评估.我正在尝试使用Rhino shell,但不能使用我的Java代码中的嵌入式Javascript.

这是有效的:

$ java -jar js.jar
js> readFile('foo.json');
{y:"abc"}
Run Code Online (Sandbox Code Playgroud)

这是不起作用的:

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("js");
engine.eval("readFile('foo.json')"); 
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Exception in thread "main" javax.script.ScriptException: 
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "readFile" is not defined. (<Unknown source>#4) in <Unknown source> at line number 4
    at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:153)
    at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:232)
Run Code Online (Sandbox Code Playgroud)

我怎样才能readFile在我的引擎中使用它?

javascript rhino jsr223

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

管理冲突版本的ruby gems

我正在构建一个加载用户提供的ruby代码的框架.它基本上是一个插件机制.我希望用户提供ruby代码,以便能够获得自己的宝石.我打算让"插件"包中包含一个包含宝石的供应商目录.

如何加载插件所需的宝石,而不会让它们与我的框架的宝石发生冲突?例如,如果我的框架使用treetop版本1.3.0,并且插件使用treetop 1.4.2我希望每个都使用他们指定的版本.

同样,有没有办法防止插件相互冲突?

我查看了gem_plugin,_why的沙盒和其他一些工具.但是我没有看到任何专门处理这种情况的库 - 我认为它之前已经完成了.

我还看了Bundler的内部,看看它如何管理gem版本.如果需要,我准备做一些非常复杂的事情.但我仍然不确定如何去做.

我对如何实现这一点也有很大的自由.所以,如果你认为我正在咆哮错误的树,请说出来.

谢谢你的建议.

侧面注意:在我写这篇文章时,我发现需要类似于Java servlet容器中的类加载器.WAR文件可以包含jar文件,Web应用程序的类加载器将优先于全局类路径上的jar.ruby中是否有任何方法可以分割ruby"classpath"(即load_path,require等)?

ruby plugins rubygems version

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

如何在Go中解析RSA公钥?

为什么我ssh: short read从以下代码中得到错误:

package main

import (
    "golang.org/x/crypto/ssh"
    "testing"
)

func TestPublicKeyParsing(t *testing.T) {
    key := "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhZgLqiZYDKCWhyi2gUXIRwIPyMSyXZ6yrwsm3PYfIvFB60kVlNgqDpPVhWoH6eRfaQ1y/xbg4nClZmHEDTvLbTQ1ZoQzzjZ7zvM6aQ4nADmKcCYswEuU94axouVjsHNyMLfOkPXuGec0fChwQ2JDh/B9LCiSDxyhCOgHvETXGXsyBMKjn498iPjJ6snzk35dy5wPZRz41g3dLaygF+wYAT791u/JchHQL7OP7RoNgby+RM16SYZs1tgQVkfU//o+AyTarWYLVDpFU6HPPenE4xEXhbgqd7x3wSNPBsMvY8Zjcu3kdHtboJidyMtKeD8ghV/T24kME58TW15T8Eg8R"

    _, err := ssh.ParsePublicKey([]byte(key))
    if err != nil {
        t.Errorf("ERROR! %s", err)
    }
}
Run Code Online (Sandbox Code Playgroud)

密钥字符串格式错误吗?

公钥的正确格式是什么?

go

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