繁体   English   中英

Java Package Javalite 应用程序的名称

[英]Java Package Name(s) for Javalite Application

我是 Javalite 的新手并且编写了我的第一个应用程序。

我的第一个问题是关于要使用的 Java package 名称 - 我发现的所有示例都有顶级 package 名称作为“应用程序”。 假设下面的 package 名称遵循推荐的结构,我可以定义和使用自己的 package 名称吗?

我的第二个问题是关于使用的 class 个名称 - 这些名称是固定的还是我可以使用我自己的名称但遵循某些约定? 在哪里可以找到这些约定?

我已经使用自己的包和 class 名称创建了应用程序。 当我在 Eclipse 下运行它时,进程启动但失败了 - 请参阅 2023 年 1 月 25 日晚上 8:49:28 以下的部分日志配置.AppBootstrap。 应用程序启动失败,因此不会运行。 java.lang.ClassNotFoundException: app.config.AppBootstrap 位于 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) 位于 java.base/jdk.Internal.loader .java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class .forName(Class.java:315) 在 org.javalite.activeweb.RequestDispatcher.initAppConfig(RequestDispatcher.java:126) 在 org.javalite.activeweb.RequestDispatcher.initApp(RequestDispatcher.java:74) 在 org.activeweb.javalite.active.java RequestDispatcher.init(RequestDispatcher.java:68) at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:133) at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:725 ) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/ java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:749) at org.eclipse.jetty.servlet.ServletContextHandler.startContext( ServletContextHandler.java:392) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1304) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:900) at org.eclipse .jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)在org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:532)在org.88317647.88788.componentutil.jet AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171) at org.eclipse.jetty.server.Server.start(Server.java:470) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89) at org.eclipse.jetty.server .Server.doStart(Server.java:415)在org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)在org.ns.tools.bcweb.BCWJServer.webSetup(BCWJServer.888453) ) 在 org.ns.tools.bcweb.BCWJServer.main(BCWJServer.java:11) Class app.config.AppBootstrap 不存在于我的应用程序中,但我有 class 名为 BCWServerBootstrap 实现了类似的功能。

此致 Nick Sorokin 电子邮件:Nick.Sorokin,电话:gmail.com

为了快速回答您的问题,包和 class 名称的唯一两个要求是配置类和控制器。 任何其他类,包括过滤器、模型、服务等,都可以位于任何 package 中并具有它们的首选名称。

这是您需要查看的页面:

https://javalite.io/structure_of_activeweb_project

如您所见,控制器需要在app.controllers package 中:

app.controllers.MyController

配置类在app.config package 中:

app.config.AppBootstrap
app.config.AppControllerConfig
app.config.DbConfig
app.config.RouteConfig
app.config.FreemarkerConfig

任何其他类都可以放在您想要的任何位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM