我在开发中使用Eclipse,Maven和Java.我使用Maven下载依赖项(jar文件和javadoc可用时)和Maven的eclipse插件来生成Eclipse的.project和.classpath文件.当下载的依赖项没有连接javadoc时,我在.classpath文件中手动添加javadoc的链接,这样我就可以在Eclipse中看到依赖项的javadoc.然后,当我运行Maven的eclipse插件来重新生成.classpath文件时,它当然会消除这种变化.
有没有办法配置Maven的eclipse插件,以便在运行Maven的eclipse插件时自动为javadoc添加类路径属性?
我只对那些没有为maven资源库中的依赖项提供javadoc和/或源代码的答案感兴趣,这种情况最常见.使用downloadSources和/或downloadJavadocs属性将无助于此问题.
如何配置我的Web应用程序以在Tomcat中部署,以便Tomcat Manager在表中显示列出所有已安装应用程序的版本(/ manager/html/list)?
目前,它为所有应用程序显示"未指定",包括其自身.我正在使用Tomcat 7.0.11.
两个或多个Android活动可以打开一个sqlite3数据库进行写入吗?
我有两个活动需要将数据插入到同一个sqlite数据库中.当第二个Activity调用时SQLiteOpenHelper.getWriteableDatabase()抛出IllegalStateException,并显示消息" SQLiteDatabase created and never closed ".
我已经能够通过使我的数据库对象成为单例来避免异常,但我认为必须有更好的方法.
谢谢,
约翰
由Android的WebView呈现的动画GIF图像似乎没有动画效果.有没有人想出如何使它们工作?我正在用2.1-u1测试N1.没有可用的网络设置似乎适用.
我使用Jersey 1.4,ApacheHttpClient和Apache MultiThreadedHttpConnectionManager类来管理连接.为此HttpConnectionManager,我将staleCheckingEnabled设置为true,将maxConnectionsPerHost设置为1000,将maxTotalConnections设置为1000.其他所有内容都是默认值.我们在Tomcat中运行并使用Jersey客户端连接到多个外部主机.
我注意到,经过一段时间后,我将开始看到处于CLOSE_WAIT状态的套接字与Tomcat进程相关联.使用tcpdump进行的一些监视显示外部主机在一段时间后似乎正在关闭连接,但它并没有在我们结束时关闭.通常在套接字读取队列中有一些数据,通常是24个字节.连接使用https,数据似乎是加密的,所以我不确定它是什么.
我已经检查过以确保创建的ClientRequest对象已关闭.CLOSE_WAIT中的套接字似乎确实被回收了,至少在这个时候我们没有耗尽任何资源.我不确定外部服务器上发生了什么.
我的问题是,这是正常的,我应该担心吗?
谢谢,
约翰
我有一个在Android市场上发布的免费应用程序.我丢失了用于签署当前版本的证书,但我想发布更新版本.Android市场拒绝接受我的升级,因为它是由新证书签署的.我意识到用户必须卸载当前版本才能进行升级,但目前还不清楚如何将更新版本推向市场,以便当前用户能够找到它.
我有什么选择?
谢谢,
约翰
使用ClearCase find命令,如何查找目录中没有名称pom.xml的所有文件?
我想将其他选择选项传递给ClearCase find命令,所以我不想执行另一个命令.
我正在使用RedHat linux版本的ClearCase.我试过"cleartool find!-name pom.xml -print",但这不起作用.
PS:我不选择使用ClearCase,它是我项目的强制要求.这是我讨厌它的原因之一.我已经多次阅读过这些手册页,并且没有明确的方法来做到这一点!
我的Android应用程序在资产目录中有一些文件,我想在启动时打开,方法是列出目录中的文件并打开每个文件.我正在尝试使用AssetManager来执行此操作,但它似乎没有像我期望的那样.我的示例代码如下.这是正确的方法还是有更好的方法来做到这一点?
我使用以下方法打印出资产目录树.
void displayFiles (AssetManager mgr, String path) {
try {
String list[] = mgr.list(path);
if (list != null)
for (int i=0; i<list.length; ++i)
{
Log.v("Assets:", path +"/"+ list[i]);
displayFiles(mgr, path + list[i]);
}
} catch (IOException e) {
Log.v("List error:", "can't list" + path);
}
}
Run Code Online (Sandbox Code Playgroud)
从我的Activity的onCreate方法中,我执行以下操作:
final AssetManager mgr = getAssets();
displayFiles(mgr, "/assets");
displayFiles(mgr, "./assets");
displayFiles(mgr, "/");
displayFiles(mgr, "./");
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出
09-29 20:08:27.843: DEBUG/GFlash(6543): //AndroidManifest.xml 09-29 20:08:27.954: DEBUG/GFlash(6543): //META-INF 09-29 20:08:28.063: DEBUG/GFlash(6543): //assets 09-29 20:08:28.233: DEBUG/GFlash(6543): //classes.dex 09-29 20:08:28.383: …
有些东西正在打断我的应用程序中的线程.它似乎发生在JVM接近堆空间不足时.我可以为JVM配置额外的堆,但我很好奇垃圾收集器是否在试图回收内存时中断线程.有人知道吗?我在RedHat ES 5.2上使用64位Java 1.6.0_16.
谢谢,
约翰
对于我的生活,我无法理解为什么编译器不会让我做以下事情......
import java.util.HashMap;
import java.util.Map;
public class TestMap {
private final Map<Integer, ? extends Number> map = new HashMap<Integer, Number>();
public void put(Integer key, Long item) {
this.map.put(key, item);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么行this.map.put(key, item)会导致编译错误?
我知道我可以改变使用地图的声明Number而不是? extends Number让它起作用,但在我看来,我所做的是完全合法的,我宁愿不允许地图中的Number对象.我使用的是Java 1.6.0_13.
我有一个用户对象如下:
{ user: "joe", acks: ["a", "b" ] }
Run Code Online (Sandbox Code Playgroud)
我想在acks字段中添加一组字符串.这是我尝试通过一次更新来做到这一点:
def addSomeAcks(toBeAcked = Array[String])
DB.getCollection("userAcks").update(
MongoDBObject("user" -> "joe"),
$addToSet("acks") $each toBeAcked
)
}
def test() {
addSomeAcks(Set("x", "y", "z"))
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到一个嵌入式集,如下所示:
{ user: "joe", acks: ["a", "b", ["x", "y", "z" ] ] }
Run Code Online (Sandbox Code Playgroud)
但我想要的结果是:
{ user: "joe", acks: ["a", "b", "x", "y", "z" ] }
Run Code Online (Sandbox Code Playgroud)
我可以通过调用每个项目的更新来使其工作toBeAcked,有没有办法在一个调用中执行此操作?