今天,当前的 Guava 版本似乎是:
release is 13.0.1, August 3, 2012.
但我检查了来源:
git clone https://code.google.com/p/guava-libraries/
并且对对我来说极其有用的测试工具很感兴趣:
我正在尝试验证我的所有方法是否都讨厌 null
正如 Doug Lea ( http://gee.cs.oswego.edu/dl/html/vita.html ) 似乎所做的那样,除非 Joshua Bloch 错误地引用了他 ( http://www.youtube.com/watch?v=ZeO_J2OcHYM#t=26m35s ) 的“无敌意”。
无论如何,NullPointerTester.java
似乎很完美,所以我正在尝试将其构建到我的项目中。
遵循依赖关系(例如 NullPointerTester
-> Invokable<?, ?>
, -> ...)很乏味,因为我遇到了 @since 14.0
的类,基本上属于 future 版本。
构建 Guava 下一个/ future 版本的独立 JAR 的最佳方法是什么,并且所有依赖项都已为我处理?注意:来源似乎是 git
上的“全部” ...
您可以停止阅读此处。
我迫不及待地想做这样的事情,我认为这真的很酷:
注意:缺少的是“安全检查”,例如“如果构造函数已设为私有(private),请检查我是否无法反射调用它......
如果我是一个更好的编码员,我会做出贡献,但这就是我能做的,而且非常糟糕,尽管意图应该很明确?
static boolean isDefaultConstructorDisabled(Class<?> type) {
boolean isDefaultConstructorDisabled = false;
Constructor<?>[] declaredConstructors = type.getDeclaredConstructors();
Constructor<?> defaultContructor = declaredConstructors[0];
defaultContructor.setAccessible(true);
try {
defaultContructor.newInstance();
} catch (InvocationTargetException invocationTargetException) {
Throwable cause = invocationTargetException.getCause();
if (cause instanceof UnsupportedOperationException
&& cause.getMessage().contains(
ErrorMessage.DefaultConstructor.DISABLED)) {
isDefaultConstructorDisabled = true;
}
} catch (Throwable throwable) {
throwable.printStackTrace();
}
return isDefaultConstructorDisabled;
}
最佳答案
你尝试过在 Maven 中查找吗?
http://search.maven.org/#browse%7C-723200679
我认为 guava-teSTLib 是包含 NullPointerTester 的东西。您可以获取 13.0.1 jar。
关于java - guava-teSTLib future 版本 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791737/