草庐IT

当导入的类扩展第 3 方库时,Java 导入静态失败

问题设置由三个java库组成(为了便于阅读,我删除了所有包名称,到处都使用完全限定名称):external-lib:提供抽象类publicabstractclassAbstractExternal{}my-lib-A:提供类publicclassClassAextendsAbstractExternal{publicstaticfinalStringFOO="foo";}external-lib在my-lib-A的类路径中。my-lib-B从ClassA静态导入FOO:importstaticClassA.FOO;publicclassClassB{privateStringfoo=F

java - 在注解上使用默认的类文字值

我想用下面的注释来注释给定bean类的一些字段:@Target({FIELD})@Retention(RUNTIME)public@interfaceProcess{Classusing()defaultDefaultImplStrategy.class;}在不深入领域的情况下,每个带注释的属性都需要在其上定义一个ProcessingStrategy,因此需要在注释上使用using()属性。这很好,并且按照我希望的方式工作。我还想指定策略的默认实现,大多数时候使用(下面定义的默认值)。这在Eclipse中运行良好。但是,当我尝试使用常规JDK​​(通过maven调用)编译它时,出现以下

java - 为什么我的反射加载奇怪的类?

我正在尝试使用反射来查看我是否可以输入类名并且我的应用程序将加载该类并创建它的一个实例。经过几次尝试后,我发现我不能只在Class.forName()中粘贴一个没有包名的类名,所以我最终尝试获取已加载的所有可用包的列表并尝试用每个包名称加载我输入的类,直到成功为止。这是我目前所得到的:BufferedReaderconsole=newBufferedReader(newInputStreamReader(System.in));Strings="";do{ClassLoaderclsldr=ClassLoader.getSystemClassLoader();Package[]pkgs

java - 我可以按元素的类过滤 Stream<T> 并一步获得 Stream<U> 吗?

这个问题在这里已经有了答案:IsthereaJavaStreammethodequivalenttoScala'scollections"collect"?(5个答案)关闭7年前。假设我有classDogextendsAnimal{}classCatextendsAnimal{}我有一份动物list使用GuavaFluentIterable我可以一步过滤和转换Listcats=FluentIterable.from(animals).filter(Cat.class).toList();使用Java8我需要做Listcats=animals.stream().filter(c->cin

java - Apache Poi 3.13 找不到打开 XLSX 文件的类

我正在使用apachePOI通过Java读写Excel文件,但我无法在源代码中找到WorkbookFactory或XSSFWorkbook来读取xlsx文件。pom.xml:3.13org.apache.poipoi${poi.version}org.apache.poipoi-ooxml${poi.version}我在apachepoi的变更日志中找不到任何可能导致此行为的信息。编辑:这是我的实现(暂时只是一个简单的方法)publicstaticHSSFSheetgetXLSSheet(StringfileName,intsheetIndex)throwsIOException{In

java - JPA 如何识别两个具有相同名称但位于不同包中的类?

我的项目使用JPA和Hibernate。我有两个具有相同名称但在不同包中的类。它们是:@Entity(name="X_USER")@Table(name="X_USER")publicclassUser{和:@Entity@Table(name="Y_USER")publicclassUser{我正在创建一个搜索查询:.getSimpleName()但它不起作用,因为它们的简单名称相同。我将其更改为.getName()。但是,它仍然混淆返回哪个User。编辑:我有:SELECT_BY_PROPERTY_QUERY="SELECTpFROM:CLASS:pWHEREp.:PROPNAME

java - 模拟创建 ThreadSafeClientConnManager 对象的类

我无法模拟一个类(使用PowerMock的createMock方法)。此类正在其构造函数中创建ThreadSafeClientConnManager类的对象。我在调用传递我的类名的createMock方法的那一行出现异常。以下是异常堆栈跟踪。但是,如果我运行集成测试,它工作正常。可能是什么问题?[junit]Causedby:java.lang.IllegalStateException:FailureinitializingdefaultSSLcontext[junit]atorg.apache.http.conn.ssl.SSLSocketFactory.createDefault

java - 如何对创建新对象的类进行单元测试

我正在使用JUnit和Mockito来测试一些类。该类本身从另一个类创建一个对象。一个名为testList的列表。这是我的代码:publicclassA{privateListbList;//returnsthebListpublicListgetBList(){returnbList;}//checksthestatusbycallinggetStatusinclassBpublicStatusgetStatus(){//statusisanenumconsistsofPASSEDandFAILEDStatusfinalStatus=Status.PASSED;for(Bbe:thi

java - 我如何使用 log4j2 为不同的类使用不同的日志记录级别?

在log4j2文档中log4j2javaconfiguration默认配置是这样的:这将向控制台生成ERROR或FATAL级别的日志记录。我的默认日志记录以相同的方式工作。不过,我遇到的问题是当我这样做时:根据文档,log4j2javaconfiguration,这将eliminatealltheTRACEoutputfromeverythingexceptcom.foo.Bar.另一方面,我的实现就像甚至不在那里。它仍然只会打印出错误日志。问题还有其他人遇到过这个问题吗?任何人都可以复制它吗?有人知道如何解决吗?我几乎会给某人一美元。不过,我肯定会满足于将他们的答案标记为绿色。这是关

Java 引用同一目录中的类

我在Java中创建了一个Pair类(类似于c++对),但在从不同的java文件引用它时遇到了问题。我在一个Java文件中工作,我们称它为fileA,与Pair.class.位于同一目录中此外,我在两个文件的顶部都写了packagecurrent-directory。但是,当我尝试javacfileA时,我所有的错误都是cannotfindsymbol并且小箭头指向我的自定义Pair类型。如何让java编译器在fileA中看到Pair.class?感谢大家的帮助 最佳答案 Java由一些基本约定驱动,包括目录结构遵循包结构,Java文