我从头开始。我能想到的唯一区别是,我没有创建EJB应用程序,而是为bean创建了EJB模块。否则,我认为是相同的。
结构体:
thufir@dur:~/NetBeansProjects$ thufir@dur:~/NetBeansProjects$ tree HelloLibrary/HelloLibrary/├── build.xml├── nbproject│ ├── build-impl.xml│ ├── genfiles.properties│ ├── private│ │ └── private.properties│ ├── project.properties│ └── project.xml└── src └── hello └── HelloBeanRemote.java4 directories, 7 filesthufir@dur:~/NetBeansProjects$ thufir@dur:~/NetBeansProjects$ tree HelloEJB/HelloEJB/├── build.xml├── nbproject│ ├── ant-deploy.xml│ ├── build-impl.xml│ ├── genfiles.properties│ ├── private│ │ └── private.properties│ ├── project.properties│ └── project.xml└── src ├── conf │ └── MANIFEST.MF └── java └── hello └── HelloBean.java6 directories, 9 filesthufir@dur:~/NetBeansProjects$ thufir@dur:~/NetBeansProjects$ tree HelloClient/HelloClient/├── build.xml├── nbproject│ ├── ant-deploy.xml│ ├── build-impl.xml│ ├── genfiles.properties│ ├── private│ │ └── private.properties│ ├── project.properties│ └── project.xml├── src│ ├── conf│ │ ├── application-client.xml│ │ └── MANIFEST.MF│ └── java│ └── helloclient│ └── Main.java└── test7 directories, 10 filesthufir@dur:~/NetBeansProjects$ thufir@dur:~/NetBeansProjects$
客户代码:
package helloclient;import hello.HelloBeanRemote;import javax.ejb.EJB;public class Main { @EJB private static HelloBeanRemote helloBean; public static void main(String... args) { System.out.println(helloBean.Hi()); }}豆:
package hello;import javax.ejb.Stateless;@Statelesspublic class HelloBean implements HelloBeanRemote { @Override public String Hi() { return "hello world"; } @Override public String Bye() { return "goodbye"; }}远程接口:
package hello;import javax.ejb.Remote;@Remotepublic interface HelloBeanRemote { public String Hi(); public String Bye();}


