小编Don*_*ows的帖子

How to package an Apache CXF application into a monolithic JAR with the Maven "shade" plugin

I am writing a console-based Java application, intended to be run by cron in a batch-processing manner. The batch-processing application makes calls to a SOAP web service, using the Apache CXF framework for JAX-WS.

To make deployment easier, and to prevent CLASSPATH issues, I would like to bundle up the application (with all its dependencies) into a single monolithic JAR file... using the "shade" plugin for Maven.

My application works just fine when I run it from my Eclipse …

java maven-2 cxf maven

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

我的Apache CXF客户端出了什么问题?

这是我的一部分pom.xml:

<dependency>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-rt-frontend-jaxws</artifactId>
  <version>${cxf.version}</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-rt-transports-http</artifactId>
  <version>${cxf.version}</version>
  <scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Apache CXF作为JAX-WS的实现.一切正常(Java代码是通过WSDL生成的org.apache.cxf:cxf-codegen-plugin:2.4.0),直到执行:

java.lang.NoSuchMethodError:
javax.wsdl.xml.WSDLReader.readWSDL(Ljavax/wsdl/xml/WSDLLocator;Lorg/w3c/dom/Element;)Ljavax/wsdl/Definition;
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:237)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:186)
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:91)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:90)
at javax.xml.ws.Service.<init>(Service.java:56)
....
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我错过了什么依赖?

java cxf jax-ws maven

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

SPARQL DISTINCT与降低

DISTINCTREDUCEDSPARQL有什么区别?

sparql

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

使用class_eval和instance_eval访问Ruby类变量

我有以下内容:

class Test
    @@a = 10

    def show_a()
        puts "a: #{@@a}"
    end

    class << self
      @@b = '40'

      def show_b
        puts "b: #{@@b}"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

为什么以下工作:

Test.instance_eval{show_b}
b: 40
=> nil
Run Code Online (Sandbox Code Playgroud)

但我无法@@b直接访问?

Test.instance_eval{ @@b }
NameError: uninitialized class variable @@b in Object
Run Code Online (Sandbox Code Playgroud)

同样,以下工作

t = Test.new
t.instance_eval{show_a}
a: 10
=> nil
Run Code Online (Sandbox Code Playgroud)

但是以下失败了

t.instance_eval{ @@a }
NameError: uninitialized class variable @@a in Object
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我不能直接从instance_eval块访问类变量.

ruby variables class instance-eval

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

newtypes比枚举更快吗?

根据这篇文章,

就GHC而言,枚举不算作单构造函数类型,因此当用作严格的构造函数字段或严格的函数参数时,它们不会受益于解包.这是GHC的一个缺陷,但它可以解决.

而是建议使用newtypes.但是,我无法使用以下代码验证这一点:

{-# LANGUAGE MagicHash,BangPatterns #-}
{-# OPTIONS_GHC  -O2 -funbox-strict-fields -rtsopts -fllvm -optlc --x86-asm-syntax=intel #-}
module Main(main,f,g)
where       
import GHC.Base  
import Criterion.Main

data D = A | B | C
newtype E = E Int deriving(Eq)

f :: D -> Int#
f z | z `seq` False = 3422#
f z = case z of
  A -> 1234#
  B -> 5678#
  C -> 9012#

g :: E -> Int#
g z | z `seq` False = 7432# …
Run Code Online (Sandbox Code Playgroud)

haskell ghc

22
推荐指数
2
解决办法
606
查看次数

如何减少Apache CXF客户端存根对象的内存大小?

我的Web服务客户端应用程序使用Apache CXF生成客户端存根以与多个Web服务进行通信.生成的CXF Web服务存根对象具有相当大的内存占用(10 - 15个Web服务对象占用超过64 MB的内存).有没有办法减少CXF对象的占用空间?

java memory web-services cxf jax-ws

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

在提示符下创建sqlite3数据库

我尝试使用以下命令在提示符下创建数据库文件,但它们都不起作用.

$ sqlite3 test.db
sqlite3 test.db
test.db
Run Code Online (Sandbox Code Playgroud)

它最后是否需要分号或使用sqlite3提示创建数据库文件是否困难?

编辑:

当我启动sqlite3提示时,我得到了

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
Run Code Online (Sandbox Code Playgroud)

当我输入"sqlite3 test.db"时,

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> sqlite3 test.db
   ...>
Run Code Online (Sandbox Code Playgroud)

应该是磁盘上的test.db文件?

sqlite

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

正则表达式'(?<=#)[^#] +(?=#)'如何工作?

我在C#程序中有以下正则表达式,并且难以理解它:

(?<=#)[^#]+(?=#)
Run Code Online (Sandbox Code Playgroud)

我会把它分解为我认为我理解的内容:

(?<=#)    a group, matching a hash. what's `?<=`?
[^#]+     one or more non-hashes (used to achieve non-greediness)
(?=#)     another group, matching a hash. what's the `?=`?
Run Code Online (Sandbox Code Playgroud)

所以这个问题我已经是?<=?<组成部分.从阅读MSDN,?<name>用于命名组,但在这种情况下,尖括号永远不会关闭.

?=在文档中找不到,搜索它真的很难,因为搜索引擎大多会忽略那些特殊的字符.

regex lookahead lookbehind lookaround

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

相似度得分 - Levenshtein

我在Java中实现了Levenshtein算法,现在我正在通过算法进行校正,即成本.这确实有点帮助,但不多,因为我希望结果为百分比.

所以我想知道如何计算这些相似点.

我也想知道你们这样做的原因以及原因.

java similarity levenshtein-distance

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

TCL:连接变量和字符串

假设我们将变量'a'设置为12345:

set a 12345
Run Code Online (Sandbox Code Playgroud)

现在我如何设置一个新变量'b',其中包含'a'的值和另一个字符串9876

解决方法就像是

set a "12345"
set u "9876"

set b $a$u
Run Code Online (Sandbox Code Playgroud)

但我不想指定,$u而是我想要使用直接字符串..

tcl

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