【问题标题】:Multiple source folders for Super Dev Mode超级开发模式的多个源文件夹
【发布时间】:2013-12-02 16:38:00
【问题描述】:

问题
有什么办法Codeserver 在 -src 标志中接受多个目录?

详情
我正在尝试将我的源代码分成这样的文件夹:

  • 源代码
  • 小部件
  • 实用程序
  • 主要

我通过以下 *.gwt.xml 文件获得了常规开发模式来编译我的代码:

src/MyProject.gwt.xml

<module>
    <inherits name='com.google.gwt.user.User' />
    <inherits name="com.my.project.Widget"/>
    <entry-point class="com.my.project.Test" />
</module>

小部件/Widgets.gwt.xml

<module>
    <inherits name='com.google.gwt.user.User' />
    <inherits name="com.my.project.Widgets"/>
</module>

但是每次我尝试在 Codeserver (SuperDevMode) 中运行时,它都会说在 com.my.project.Widgets 包中找不到类。

我正在使用以下参数运行 SuperDevMode:

-src src/ com.my.Project.MyProject

但我猜我需要类似的东西:

-src src/ com.my.Project.MyProject widgets/ com.my.Project.Widgets

仅供参考
我知道您可以使用包来组织这些类,但我更愿意将它们放在单独的源文件夹中,这样以后我可以轻松地将它们重新打包到单独的 jar 中。

更新
刚刚尝试添加[模块]:

-src src/ com.my.Project.MyProject com.my.Project.Widgets

没用:(

【问题讨论】:

    标签: gwt gwt-super-dev-mode


    【解决方案1】:

    只需传递-src 多少次即可:

    -src src/ -src widgets/
    

    模块在命令行最后出现,并在所有源文件夹和类路径中查找:

    -src src/ -src widgets/ com.my.Project.MyProject
    

    请注意,只有带有&lt;entry-point&gt; 的模块(或继承带有&lt;entry-point&gt; 的模块)才能在命令行上以这种方式传递;没有入口点的模块只是一个可以被其他模块继承的“库”,而不是一个“应用程序”。

    注意,您也可以将所有源文件夹添加到类路径中,而不是使用 -src

    【讨论】:

    • 谢谢 我感觉自己很笨。使用 -src widgets/ com.myProject.Widgets 有效。但是我对您回答的第二部分有点困惑:“请注意,只有带有 ... 的模块”。你是说我的 Widgets.gwt.xml 文件也应该有一个入口点吗?因为现在它没有并且它正在工作。
    • 我正在使用 Eclipse,所以小部件文件夹应该已经添加到类路径中?至少在各种配置窗口中,我看到我的文件夹被添加...
    • 哦,nvm,我很笨,只是再次阅读您的回答。我的印象是“-src src/com.my.Project.MyProject”是一个论点哈哈。不是两个单独的论点。
    • 回复。 &lt;entry-point&gt;,我是说你不应该将 Widgets 作为参数传递,因为它没有入口点。
    猜你喜欢
    • 1970-01-01
    • 2018-10-20
    • 2021-09-07
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多