我在我拥有Tomcat 8的同一台服务器上运行Jenkins 1.6(并尝试使用Jenkins 2.0).我需要将Maven多模块应用程序部署到Tomcat webapp.它有两个必须部署的子模块的war文件.Deploy插件支持最多7个Tomcat,并且工作正常.但问题是我需要使用Tomcat 8,因为我的Web应用程序无法在Tomcat 7上运行.是否可以将warkins文件从Jenkins部署到Tomcat 8?
我有一个执行基于给定的输入标题字段搜索的搜索框,让用户建议先从文字是基于Lucene和Hibernate Search的inserted.It所有可用的标题.它一直工作,直到输入空间.然后结果消失了.例如,我希望"学习H"给我"学习Hibernate"作为结果.但是,这不会发生.你能告诉我我应该在这里使用什么呢?
查询生成器:
QueryBuilder qBuilder = fullTextSession.getSearchFactory()
.buildQueryBuilder().forEntity(LearningGoal.class).get();
Query query = qBuilder.keyword().wildcard().onField("title")
.matching(searchString + "*").createQuery();
BooleanQuery bQuery = new BooleanQuery();
bQuery.add(query, BooleanClause.Occur.MUST);
for (LearningGoal exGoal : existingGoals) {
Term omittedTerm = new Term("id", String.valueOf(exGoal.getId()));
bQuery.add(new TermQuery(omittedTerm), BooleanClause.Occur.MUST_NOT);
}
@SuppressWarnings("unused")
org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(
query, LearningGoal.class);
Run Code Online (Sandbox Code Playgroud)
Hibernate类:
@AnalyzerDef(name = "searchtokenanalyzer",tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
filters = {
@TokenFilterDef(factory = StandardFilterFactory.class),
@TokenFilterDef(factory = LowerCaseFilterFactory.class),
@TokenFilterDef(factory = StopFilterFactory.class,params = {
@Parameter(name = "ignoreCase", value = "true") }) })
@Analyzer(definition = "searchtokenanalyzer")
public …Run Code Online (Sandbox Code Playgroud) 我在 scala Play Framework 中有 gRPC 服务器,它在端口 9000 上公开了 gRPC hello world 示例服务。我正在尝试将它与 React Web 客户端连接。我似乎遇到了部署到 Mac 上 docker 容器的 Envoy 代理的连接问题。
\n我总是遇到同样的错误,我认为这意味着 Envoy 无法与后端连接:
\n\xe2\x80\x8bcode: 2\xe2\x80\x8b\nmessage: "Http response at 400 or 500 level"\n\xe2\x80\x8bmetadata: Object { }\nRun Code Online (Sandbox Code Playgroud)\n我用来构建 Envoy 的 docker 文件是:
\nFROM envoyproxy/envoy:v1.12.2\nCOPY ./envoy.yaml /etc/envoy/envoy.yaml\nCMD /usr/local/bin/envoy -c /etc/envoy/envoy.yaml -l trace --log-path /tmp/envoy_info.log\nRun Code Online (Sandbox Code Playgroud)\n我正在使用这个脚本构建它:
\necho --- Building my-envoy docker image ---\ndocker build -t my-envoy:1.0 .\n\necho --- Running my-envoy docker image ---\ndocker run -d -p …Run Code Online (Sandbox Code Playgroud) 我正在使用Maven和Jetty作为服务器开发RestEasy Web服务.其中一个服务应该使用扩展javax.servlet.http.HttpServletResponseWrapper的Filter.问题出在来自servlet-api 2.3的接口javax.servlet.ServletResponse的方法setCharacterEncoding中.我收到以下异常
java.lang.NoSuchMethodError: com.webapp.rest.jsonp.HttpServletResponseContentWrapper.setCharacterEncoding(Ljava/lang/String;)V
Run Code Online (Sandbox Code Playgroud)
我已经将servlet-api 2.4依赖关系作为这个,但也尝试了2.5:
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Run Code Online (Sandbox Code Playgroud)
Servlet-api 2.4的指定方式如下:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我正在使用Maven jetty插件:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.15</version>
<configuration>
....
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
Run Code Online (Sandbox Code Playgroud)
我的RestEasy配置:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jettison-provider</artifactId>
<version>2.2.2.GA</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
Run Code Online (Sandbox Code Playgroud)
但是,在maven存储库中,始终存在2.3和2.4(或2.5)版本.我无法弄清楚这个2.3版本是否带有其他依赖性.有什么建议我怎么能找到这个以及如何强制使用servlet-api 2.4.
我的依赖树看起来如下:
[INFO] [dependency:tree {execution: default-cli}]
[INFO] com.inextweb.ai:inextweb-ai:war:1.0.0-SNAPSHOT
[INFO] +- org.htmlparser:htmlparser:jar:2.1:compile
[INFO] +- org.htmlparser:htmllexer:jar:2.1:compile
[INFO] +- org.htmlparser:thumbelina:jar:2.1:compile
[INFO] +- org.htmlparser:sitecapturer:jar:2.1:compile
[INFO] +- org.htmlparser:filterbuilder:jar:2.1:compile
[INFO] +- net.sf.jung:jung-api:jar:2.0.1:compile
[INFO] | \- net.sourceforge.collections:collections-generic:jar:4.01:compile
[INFO] +- net.sf.jung:jung-algorithms:jar:2.0.1:compile …Run Code Online (Sandbox Code Playgroud) 我有 React.js + Node.js 应用程序,我使用 Socket.io 通知 UI 端后端发生了一些更改,它应该拉取这些更改。我使用客户端 ID 作为套接字中的标识符,因此我不必在服务器端维护用户映射。
当用户登录时,我正在建立连接,并且此工作流程运行良好。当用户刷新页面时就会出现问题。在客户端套接字端的 Chrome 浏览器中,“断开连接”不会被触发,并且套接字不会重新连接。在 FF 中,第一次刷新时会触发断开连接,但客户端不会检索到 joinsuccess,并且客户端不会收到通知。在第二次和以后的每次刷新时,不会触发断开连接。
我的客户代码:
const io = require('socket.io-client');
export default function () {
const socket = io.connect(process.env.REACT_APP_BACKEND_URL);
function registerDisconnectHandler(onDisconnect) {
socket.on('disconnect', () => {
console.log('Disconnected');
onDisconnect();
});
}
function registerJoinHandler(onJoinSuccess) {
socket.on('joinsuccess', (msg) => {
console.log('join success');
onJoinSuccess(msg);
});
}
function joinNotification(channel, cb) {
console.log(`emit join for channel:${JSON.stringify(channel)}`);
socket.emit('joinnotificationpharmacy', channel, cb);
}
function registerNotificationHandler(onNotificationReceived) {
socket.on('notification', (notification) => {
onNotificationReceived(notification);
});
}
socket.on('error', (err) => { …Run Code Online (Sandbox Code Playgroud)