我正在使用Eclipse开发一个Java项目,使用2个源文件夹。有没有办法链接他们? 如果我在类文件中写入" import source_folder_1.package.class",Eclipse表示错误"导入source_folder_1无法解析" 请你帮助我好吗? Thanke 爱德华
答案 0 :(得分:1)
源文件夹名称不是包名称的一部分。 包名称由源文件夹下的目录元素组成。例如,如果项目中有此目录布局:
.
├── other-src
│ └── com
│ └── example
│ ├── client
│ └── demo
└── src
└── main
└── java
└── org
└── uni
├── api
└── util
在Eclipse中,您已将src/main/java
和other-src
配置为源目录,然后您将拥有Java包:
com.example.client
com.example.demo
org.uni.api
org.uni.util
任何包中的类都可以import
任何这些包,因为Eclipse会在两个配置的源文件夹中找到它们。
答案 1 :(得分:0)
只需使用/* AppContainer.js */
// import react and proptypes ...
import { Meteor } from 'meteor/meteor';
import container from '../../../modules/container';
// Some code for app layout and proptypes...
export default container((props, onData) => {
const user= Meteor.user(); // adapted for your case
onData(null, {
currentUser:user,
// and others data ...
});
}, App);
/* container.js */
import { compose } from 'react-komposer';
import getTrackerLoader from './get-tracker-loader';
export default function container(composer, Component, options = {}) {
return compose(getTrackerLoader(composer), options)(Component);
}
/* get-tracker-loader.js */
import { Tracker } from 'meteor/tracker';
export default function getTrackerLoader(reactiveMapper) {
return (props, onData, env) => {
let trackerCleanup = null;
const handler = Tracker.nonreactive(() => Tracker.autorun(() => {
trackerCleanup = reactiveMapper(props, onData, env);
}));
return () => {
if (typeof trackerCleanup === 'function') trackerCleanup();
return handler.stop();
};
};
}
即可。
如果您有一个或源文件夹,哪个包含您导入的类,则无关紧要。当您需要通过其简单名称使用类时,可以使用flly限定类名添加import语句,该类是包后跟简单类名。
Eclipse将只查看源文件夹和构建路径中的库以查找它。