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 …
这是我的一部分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)
这是什么意思?我错过了什么依赖?
我有以下内容:
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块访问类变量.
根据这篇文章,
就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) 我的Web服务客户端应用程序使用Apache CXF生成客户端存根以与多个Web服务进行通信.生成的CXF Web服务存根对象具有相当大的内存占用(10 - 15个Web服务对象占用超过64 MB的内存).有没有办法减少CXF对象的占用空间?
我尝试使用以下命令在提示符下创建数据库文件,但它们都不起作用.
$ 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文件?
我在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>用于命名组,但在这种情况下,尖括号永远不会关闭.
我?=在文档中找不到,搜索它真的很难,因为搜索引擎大多会忽略那些特殊的字符.
我在Java中实现了Levenshtein算法,现在我正在通过算法进行校正,即成本.这确实有点帮助,但不多,因为我希望结果为百分比.
所以我想知道如何计算这些相似点.
我也想知道你们这样做的原因以及原因.
假设我们将变量'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而是我想要使用直接字符串..
java ×4
cxf ×3
jax-ws ×2
maven ×2
class ×1
ghc ×1
haskell ×1
lookahead ×1
lookaround ×1
lookbehind ×1
maven-2 ×1
memory ×1
regex ×1
ruby ×1
similarity ×1
sparql ×1
sqlite ×1
tcl ×1
variables ×1
web-services ×1