我正在尝试使用SSL配置Tomcat 6并提供给我们的证书(由某人).我的SSL体验只有几天,但我仍然必须配置这个令人讨厌的东西.
我获得了DER格式的证书(从IE下载).
接下来我创建了一个密钥库:
keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore
说我用"密码"作为密码
我在SSL部分的Tomcat的server.xml中配置了它:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen"
clientAuth="false" sslProtocol="TLS" />
Run Code Online (Sandbox Code Playgroud)
在启动Tomcat时,我得到了错误.
然后我在b2b.keystore上做了一个keytool -list,并注意到别名是全部小写的,所以在更新server.xml并重新启动之后,我仍然得到相同的错误,但对于小写别名.
然后我想,也许我需要一个根CA. 所以我重新创建了b2b.keystore,如下所示:
keytool -import -alias root -file myCA.cer -keystore b2b.keystore
然后我针对MyCompany.der重新执行了我的keytool命令
但我仍然得到相同的错误,别名不识别键入口.
我想知道我是否在配置tomcat时遇到了一些根本性的错误,或者这个东西应该有效吗?我只是犯了一个愚蠢的粗心错误?
任何指导将不胜感激.
当我尝试访问以下URL时,我不断收到提示输入用户名和密码:
App Server:Tomcat 6.0.35
浏览器:Firefox 3.6.18
操作系统:Centos 5.5
tomcat-users.xml的内容:
<tomcat-users>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)
我用:sudo ./startup.sh启动了Tomcat
我用:sudo ./shutdown.sh阻止了Tomcat
我在IntelliJ 13.1.5中安装了IDEA-MARKDOWN并重新启动.我在类的javadocs中添加了一些markdown,但是当我按下类名CTRL-Q时,我看不到粗体标题,我只看到粗体的"H2标题":
/**
* ## H1 Title
* <h2>H2 Title</h2>
*/
public class Test {
}
Run Code Online (Sandbox Code Playgroud) 我正在使用ANT构建war文件,我想将src目录包含在war文件中.当我使用fileset元素时,仅包含该文件夹的内容.我希望src目录包含在WEB-INF文件夹中.我不想将源复制到磁盘上的WEB-INF文件夹.Ant正确地将我的lib目录中的jar包括WEB-INF/lib在我的项目中而不复制它们.
所以我会有这样的事情:
/WEB-INF
/WEB-INF/src
/WEB-INF/classes
/WEB-INF/lib
/META-INF
Run Code Online (Sandbox Code Playgroud)
目标看起来像这样:
<target name="war" depends="init">
<war destfile="dist/web.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent"/>
<lib dir="WebContent/WEB-INF/lib"/>
<lib dir="lib"/>
<classes dir="build/classes"/>
<classes dir="config"/>
</war>
</target>
Run Code Online (Sandbox Code Playgroud) 这是一个关于如何实现equals方法的问题,当我需要在List中找到对象的实例时给定一个值,该值是我的成员中的一个实例.
我有一个我实现了等于的对象:
class User {
private String id;
public User(id) {
this.id = id;
}
public boolean equals(Object obj) {
if (!(obj instanceof User)) {
return false;
}
return ((User)obj).id.equals(this.id);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想在列表中找到一些东西,我会做这样的事情:
public function userExists(String id) {
List<Users> users = getAllUsers();
return users.contains(new User(id));
}
Run Code Online (Sandbox Code Playgroud)
但也许这可能是一个更好的实施?
class User {
private String id;
public boolean equals(Object obj) {
if (!(obj instanceof User)) {
return false;
}
if (obj instanceof String) {
return ((String)obj).equals(this.id);
}
return ((User)obj).id.equals(this.id);
}
}
Run Code Online (Sandbox Code Playgroud)
改为:
public …Run Code Online (Sandbox Code Playgroud) 有没有办法让 Eclipse 启动并指向特定工作区的不同 M2_HOME?当我启动 eclipse 时,M2_HOME 指向 ~/.m2/repository,但我想为这个特定的工作区更改它,这是一个有很多子模块的 maven 项目。
该项目保留自己的 M2 存储库,我不希望这影响我不在此工作区中的其他项目,这些项目将继续使用默认的 ~/.m2/repository 存储库。
我可以通过设置一些 ENV 变量(如 MAVEN_OPTS)指向另一个 M2 存储库来很好地构建这个项目。