问题标签 [java-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 封装重组
嗨,我正在尝试重组包,但没有运气。假设一个项目中有多个包,例如:
我想以以下格式对其进行重组:
可以这样想,有 50 个以 main.java 开头的包。所以我想把main.java作为主包,main.java包下的50个包我该怎么做?
java - javac 添加类路径会破坏我的本地类编译
当我将一个包导入我的MyLib
类(需要-cp
javac)时,我无法再编译我的MyMain
类。
MyMain.java:
MyLib.java:
当我javac MyLib.java
这样做的时候
那行得通,但如果我
我明白了
但是如果我添加-cp
到编译命令
我明白了
scala - 是否可以在包对象中进行最大规模的发现?
我有几个测试方面共享多个测试类,所以我将它们聚合成一个特征以混合到包对象中,期望这些测试类将在包下被发现:
(在特质上)
(在包装 1 中)
(在包装 2 中)
不幸的是,当我调用 scalatest 运行所有测试时,似乎无法发现这些类(Suite1、Sutie2、Sutie3)com.spike.scalatest_spike
,这些类似乎在类发现中被忽略了。
我应该对我的项目或/和 scalatest 源代码进行哪些更改以使其正常工作?
java - Android Studio:将新的 java 文件添加到现有包 - “未解决的参考”
我正在寻找android 应用程序中的 HTML 到 PDF 转换
我在解决方案编号 1 中执行“它必须在包中”.../java/android/print/”时遇到问题。如何在 android.print 包中添加 PdfConverter.java 并且 android studio 可以识别它?
当我手动添加它,修复 PdfConverter.java 并将其添加到目录时,android studio 无法识别它,我得到“未解决的参考:PdfConverter”。
是否有另一种合适的方法可以在 android.print 包中添加 PdfConverter.java 而不会出现上述错误?
先感谢您。
java - 多个包上的 Java Swing 应用程序
我目前正在使用带有 Window builder 的 Eclipse 上的 Java SE-13 进行自我项目。
我打算使用单个按钮作为 event-source 创建一个具有以下设计流程的程序。
[Edit]
(对于那些不想访问链接的人)
Default Package Swing application <---> Package A swing application
我使用包来帮助我模拟然后我使用人员程序并集成它。尝试考虑模块化并保持项目组织[/编辑]
我曾尝试使用以下两种方法。
- 使用 XXX.dispose() 销毁“当前 Swing 应用程序”(扩展 Frame),创建第二个 Swing 应用程序的实例并将其设置为可见。
如果流是一个方向但不是双向的,它工作正常。当我尝试返回到“当前 Swing 应用程序”时,它无法销毁引发 Nullpointer 异常的第二个 Swing 应用程序。
- 使用卡片布局。通过创建多个 Jpanel 并仅将我希望显示的一个设置为可见(真)。
它允许我进行双向流动。但我没有使用包。
我听说过 getContentpane() 方法,但我不确定它是否符合我的要求或最佳实践。如果是这样,如果不是,你将如何实施,你将如何实现我的愿望流。
谢谢并保重
java - 除非使用相同的命令编译包类,否则不会编译模块信息
我有一个名为myModule
. 在其中,还有另一个名为myPackage
my的文件夹Main.class
。
旁边myPackage
有我module-info.java
要编译的。首先看一下文件夹层次结构:
问题是当我想module-info.java
用以下命令编译我的:
我收到以下错误:
但是,当我将 Main.java 放在 myPackage 中,然后使用相同的命令编译这两个文件时:
错误消失。我不明白为什么会发生这种情况?
maven - 如何在 Java 中导入用户创建的包?
我最近在 Github 的包注册表上托管了一个 Maven 包,现在我正在尝试使用它。该包旨在提供各种应用程序使用的数据模型,允许我的团队对数据模型包进行更改,而不是更新共享它们的所有 Spring 应用程序中的模型。
我将依赖项放在pom.xml
需要数据模型包的应用程序文件中,然后运行mvn install
(我还必须修改我的 .m2/settings.xml 文件才能访问存储库)。我的印象是该软件包已安装,因为它记录了成功并且它显示在我的 IDE 的 maven 插件依赖项列表中。
现在我被困住了。到目前为止,我认为一旦安装了包,我就可以导入我需要的类,就像我一直使用 Maven 包一样。但是当我尝试这样做时,我的 IDE 找不到包。
我又开始查看数据模型包,想知道是否需要提供一些额外的元数据。具体来说,我想我可能需要提供一些模块描述符,但我不能确定这是否真的会让我更接近能够使用该包。
这是pom.xml
数据模型包。
当我使用 Gradle 发布包时,我得到以下日志输出:
我运行时打印的日志mvn install
很长,所以我就不贴了,但是它不会产生任何错误,我可以看到它下载了datamodel jar并构建成功。它还显示在项目目录的外部库列表中。
数据模型的组 id 与我想在其中使用它的应用程序的组 id 相同(我的公司名称)。当我输入import com.companyname.
它建议一些本地包但不识别数据模型。当我将鼠标悬停在红色文本上时,工具提示会说Cannot resolve symbol 'datamodel'
我现在需要做什么,以便我的应用程序可以从我创建的 maven 包中导入类?
java - 如何仅在不同包中限制另一个类中的类可见性?
我的项目中有以下包和类结构,
我的意图是 OrderCancellationService 应该只由 DrugOrderManager 调用,任何其他类/服务都不应该直接调用它。我正在尝试将 DrugOrderManager 作为所有服务的网关。如何限制这种可见性?请指教
java - 使用包时获取 java.lang.ClassNotFoundException
我有一个ComPac.java
带有以下代码的java文件:
该文件位于路径:/home/ec2-user/java_c
为了编译这个文件,我运行了javac Compac.java
,并且生成了类文件。
现在轮到运行类文件了。
所以我做了java ComPac
(下面的截图)
可以理解的是,我得到了错误Error: Could not find or load main class ComPac. Caused by: java.lang.NoClassDefFoundError: com/ComPac (wrong name: ComPac).
我假设是因为 java 文件中com
声明了包。
因此,我尝试了,java com.ComPac
并希望它能够工作(下面的屏幕截图)。
但我得到了错误:Error: Could not find or load main class com.ComPac. Caused by: java.lang.ClassNotFoundException: com.ComPac
。
那么我该如何运行呢?当涉及到 java 中的包时,运行的逻辑到底是什么?
使用Java-openjdk version "11.0.8" 2020-07-14 LTS(AWS Corretto)
使用的操作系统-Amazon Linux 2
java - 在java中使用包内的主类
我正在尝试运行在同一个包中调用保护类的文件 Demo.java,但它给出了错误这是主类。
这是我想在主类中使用的类。
它给出了这个错误: