如何从ruby字符串中删除非UTF8字符?我有一个字符串,例如"xC2".我想从字符串中删除该字符,以便它成为有效的UTF8.
这个:
text.gsub!(/\xC2/, '')
Run Code Online (Sandbox Code Playgroud)
返回错误:
incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)
Run Code Online (Sandbox Code Playgroud)
我也在看text.unpack('U*')和string.pack,但没有得到任何结果.
我有一个方法来启动我的应用程序:
public void start() throws IOException {
final Map<String, String> initParams = new HashMap<String, String>();
initParams.put("com.sun.jersey.config.property.packages", "com.example");
threadSelector = GrizzlyWebContainerFactory.create(baseUri, initParams);
}
Run Code Online (Sandbox Code Playgroud)
我有一个Jersey资源类:
@Path("/notification")
public class NotificationResource {
// HOW DO I INJECT THIS GUY?
private MySampleCollabolator mySampleCollabolator;
@POST
public void create() {
System.out.println("Hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
处理依赖项的正确方法是什么?我希望我的资源与其他对象进行通信,如何将它们连接在一起?
我正在使用参数运行我的java进程,-Dproperties.url=myappproperties-production.properties或者-Dproperties.url=myappproperties-development.properties根据它运行的environemnt运行.
问题:如何让logback拿起我的属性文件?
如果属性文件名是静态的,我会这样做(工作正常):
<configuration>
<property resource="myappproperties-development.properties" />
(...)
</configuration>
Run Code Online (Sandbox Code Playgroud)
但我需要一些动态的东西(这不起作用):
<configuration>
<property resource="${properties.url}" />
(...)
</configuration>
Run Code Online (Sandbox Code Playgroud) 我想从Java类跨越一个新的JVM进程.
我可以使用,Runtime.getRuntime().exec(...)但这是一个非常低级别的api.
我正在寻找能够Process为我提供更多便利的东西的东西:
MonitoredJavaProcess javaProcess = new MonitoredJavaProcess(MyMainClass.class, "-Xmx1g");
javaProcess.getGcLogStream();
javaProcess.getHeapSizeObserver();
// ...
javaProcess.waitForShutdown();
Run Code Online (Sandbox Code Playgroud)
关于我想要做的事情的一点上下文:我正在运行JUnit一个测试套件taht启动一个嵌入式Jetty服务器并对它运行一些测试.这意味着测试的Jetty服务器线程和junit测试线程在同一个JVM中运行.我需要在单独的JVM上运行它们.我可以使用ant或maven或starup jetty外部的任何东西,然后针对它运行测试套件,但对我的简单场景来说听起来有点过分.
我正在运行Ubuntu 12.04 rvm env:
export PATH ; PATH="/home/wojtek/.rvm/gems/ruby-1.9.3-p392/bin:/home/wojtek/.rvm/gems/ruby- 1.9.3-p392@global/bin:/home/wojtek/.rvm/rubies/ruby-1.9.3- p392/bin:/home/wojtek/.rvm/bin:$PATH"
export rvm_env_string ; rvm_env_string='ruby-1.9.3-p392'
export rvm_path ; rvm_path='/home/wojtek/.rvm'
export rvm_ruby_string ; rvm_ruby_string='ruby-1.9.3-p392'
unset rvm_gemset_name
export RUBY_VERSION ; RUBY_VERSION='ruby-1.9.3-p392'
export GEM_HOME ; GEM_HOME='/home/wojtek/.rvm/gems/ruby-1.9.3-p392'
export GEM_PATH ; GEM_PATH='/home/wojtek/.rvm/gems/ruby-1.9.3- p392:/home/wojtek/.rvm/gems/ruby-1.9.3-p392@global'
export MY_RUBY_HOME ; MY_RUBY_HOME='/home/wojtek/.rvm/rubies/ruby-1.9.3-p392'
export IRBRC ; IRBRC='/home/wojtek/.rvm/rubies/ruby-1.9.3-p392/.irbrc'
unset MAGLEV_HOME
unset RBXOPT
Run Code Online (Sandbox Code Playgroud)
当尝试在RubyMine 5.0.2中启动应用程序时,我得到:
/home/wojtek/.rvm/rubies/ruby-1.9.3-p392/bin/ruby /home/wojtek/workspace/quotes/script/rails server -b 0.0.0.0 -p 3000 -e development
/home/wojtek/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.3.4/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find i18n-0.6.1 in any of the sources (Bundler::GemNotFound)
from /home/wojtek/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.3.4/lib/bundler/spec_set.rb:85:in `map!'
from /home/wojtek/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.3.4/lib/bundler/spec_set.rb:85:in …Run Code Online (Sandbox Code Playgroud)