ورود

View Full Version : مشکل در کار با maven و پروژه enterprise



ali-hosseini
پنج شنبه 07 شهریور 1392, 18:35 عصر
سلام
راستش من سعی کردم با maven یه پروژه اینترپرایز بسازم و از نوع jboss.javaee6.webapp.ear ساختم.
با HIBERNATهم به پایگاه داده وصلش کردم.
ولی حالا یه مشکلی برخورد کردم...
۱- راستش من دقیق نمی دونم که باید فایل تنظیمات هایبرنت رو تویه چه قسمتی بذارم؟
TestProject-ejb? ear? web? و اینکه تویه چه قسمتی تا بعدا مشکل نشه برام.
۲- من برای اینکه قسمت های EJB رو بتونم تویه bean های jsf بیارم به یه مشکلی برخورد کردم.
اینها رو چطوری باید اضافه کنم؟
نه اینکه ندونم چطوری باید اضافه کنم. نمی دونم چرا مثل پروژه های معمولی نمیشه اضافه اش کرد.
آخه هنگام ساخت هم مشکل میده. میگه که فایلت رو نمیشناسم. و از این حرفها.
باتشکر

javaphantom
جمعه 08 شهریور 1392, 10:04 صبح
سلام
راستش من سعی کردم با maven یه پروژه اینترپرایز بسازم و از نوع jboss.javaee6.webapp.ear ساختم.
با HIBERNATهم به پایگاه داده وصلش کردم.
ولی حالا یه مشکلی برخورد کردم...
۱- راستش من دقیق نمی دونم که باید فایل تنظیمات هایبرنت رو تویه چه قسمتی بذارم؟
TestProject-ejb? ear? web? و اینکه تویه چه قسمتی تا بعدا مشکل نشه برام.
۲- من برای اینکه قسمت های EJB رو بتونم تویه bean های jsf بیارم به یه مشکلی برخورد کردم.
اینها رو چطوری باید اضافه کنم؟
نه اینکه ندونم چطوری باید اضافه کنم. نمی دونم چرا مثل پروژه های معمولی نمیشه اضافه اش کرد.
آخه هنگام ساخت هم مشکل میده. میگه که فایلت رو نمیشناسم. و از این حرفها.
باتشکر

جواب سوال اولتون: شما می تونید تنظیمات hibernate رو توی persistence.xml بزارید
جواب سوال دوم: شما در کل بدنه پروژه باید مینموم چها ماژول داشته باشید که از طریق maven ارتباط این چها ماژول رو فراهم کنید.

ماژول اول که شامل interface های EJB شما هستن. ماژول دوم interface ها رو پیاده سازی کردن که از طریق maven می گی dependency داره به ماژولی که interface ها توش هستن.

یک ماژول web که داخل اون jsf یا کلا UI پروژه تون هست و این ماژول فقط باید به ماژول interface وابستگی داشته باشه.

در نهایک یک ماژول product داشته باشید که داخل اون همه این ماژول ها جمشون جم می شه و یک ear فایل نهایت می ده بیرون که شامل ماژول وب و باقی ماژول ها هست

ali-hosseini
جمعه 08 شهریور 1392, 11:50 صبح
سلام
فکر کنم منظورم رو بد رسوندم.
بذارید اینطوری کامل بگم.
من ۴ تا قسمت دارم.
TestProject
TestProject-ear
TestProject-ejb
TestProject-web

قسمت اول: می خوام بدونم فایل تنظیمات hibernate رو تویه کدوم قسمت بذارم تا بعدا اگه بازم خواستم ازش استفاده کنم به مشکل دسترسی برنخورم. و اینکه جایی بذارم که بعدا بتونم تویه فایل persistence.xml محلش رو بیارم تا تنظیمات رو از اون بخونه.

قسمت دوم:‌ ببینید. من کلاس bean های EJB رو وقتی که تویه قسمت web فراخوانی می کنم ارور می گیره.



@EJB
BussinessEJBLocal bussinessEJBLocal;


بعد میگه که یه کتابخانه رو به قسمت web اضافه کن تا مشکل حل بشه... ولی بعد تویه بخش اجرا برنامه میگه که نمیشناسمش.
چیکار باید بکنم؟
آیا جایی باید اون کتابخانه رو اضافه کنم تا بتونه موقع اجرا اون رو بخونه و اجرا کنه؟
باتشکر

javaphantom
جمعه 08 شهریور 1392, 15:39 عصر
سلام
فکر کنم منظورم رو بد رسوندم.
بذارید اینطوری کامل بگم.
من ۴ تا قسمت دارم.
TestProject
TestProject-ear
TestProject-ejb
TestProject-web

قسمت اول: می خوام بدونم فایل تنظیمات hibernate رو تویه کدوم قسمت بذارم تا بعدا اگه بازم خواستم ازش استفاده کنم به مشکل دسترسی برنخورم. و اینکه جایی بذارم که بعدا بتونم تویه فایل persistence.xml محلش رو بیارم تا تنظیمات رو از اون بخونه.

قسمت دوم:‌ ببینید. من کلاس bean های EJB رو وقتی که تویه قسمت web فراخوانی می کنم ارور می گیره.



@EJB
BussinessEJBLocal bussinessEJBLocal;


بعد میگه که یه کتابخانه رو به قسمت web اضافه کن تا مشکل حل بشه... ولی بعد تویه بخش اجرا برنامه میگه که نمیشناسمش.
چیکار باید بکنم؟
آیا جایی باید اون کتابخانه رو اضافه کنم تا بتونه موقع اجرا اون رو بخونه و اجرا کنه؟
باتشکر

می تونی یک ماژول maven داشته باشی که فقط توش persistence.xml باشه و هرجا خواستی استفاده کنی به این ماژول dependency بدی.

در قسمت بعدی که گفتی نمی شناستش یعنی توی CLASS PATH نمی بینتش؟ @EJB رو نمی شناسه یا کلا interface رو هم نمی بینه؟
یا اینکه منظورت اینکه چیزی inject نمی کنه و null pointer exception می گیری؟

ali-hosseini
جمعه 08 شهریور 1392, 21:50 عصر
سلام
من این رو اضافه می کنم...
ولی بازم میگه وجود نداره.

<dependency>
<groupId>org.jbos.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.1_spec</artifactId>
<version>1.0.2.Final</version>
</dependency>

ارور اینه
Description Resource Path Location Type
The container 'Maven Dependencies' references non existing library '/home/aryana/.m2/repository/org/jbos/spec/javax/ejb/jboss-ejb-api_3.1_spec/1.0.2.Final/jboss-ejb-api_3.1_spec-1.0.2.Final.jar' TestProject-web Build path Build Path Problem

باتشکر

javaphantom
جمعه 08 شهریور 1392, 22:38 عصر
سلام
من این رو اضافه می کنم...
ولی بازم میگه وجود نداره.

<dependency>
<groupId>org.jbos.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.1_spec</artifactId>
<version>1.0.2.Final</version>
</dependency>

ارور اینه
Description Resource Path Location Type
The container 'Maven Dependencies' references non existing library '/home/aryana/.m2/repository/org/jbos/spec/javax/ejb/jboss-ejb-api_3.1_spec/1.0.2.Final/jboss-ejb-api_3.1_spec-1.0.2.Final.jar' TestProject-web Build path Build Path Problem

باتشکر


کل پروژ رو rar کن بزار لطفا

ali-hosseini
شنبه 09 شهریور 1392, 00:29 صبح
سلام
اون مشکل رو حلش کردم.
الان موقع اجرا این پیام رو میده...


[ERROR] Unknown lifecycle phase "build". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <pl
ugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources,
process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate
-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, inte
gration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. ->
[Help 1]
org.apache.maven.lifecycle.LifecyclePhaseNotFoundE xception: Unknown lifecycle phase "build". You must specify a valid lifecycle phase o
r a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle
phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, g
enerate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test,
prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, pos
t-clean, pre-site, site, post-site, site-deploy.
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateLifecycleMappin gs(DefaultLifecycleExecu
tionPlanCalculator.java:222)
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateMojoExecutions( DefaultLifecycleExecutio
nPlanCalculator.java:193)
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateExecutionPlan(D efaultLifecycleExecution
PlanCalculator.java:112)
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateExecutionPlan(D efaultLifecycleExecution
PlanCalculator.java:129)
at org.apache.maven.lifecycle.internal.BuilderCommon. resolveBuildPlan(BuilderCommon.java:92)
at org.apache.maven.lifecycle.internal.LifecycleModul eBuilder.buildProject(LifecycleModuleBuilder.java: 81)
at org.apache.maven.lifecycle.internal.LifecycleModul eBuilder.buildProject(LifecycleModuleBuilder.java: 59)
at org.apache.maven.lifecycle.internal.LifecycleStart er.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStart er.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMav en.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven .java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.jav a:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java :196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:1 41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher. launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher. launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher. mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher. main(Launcher.java:352)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException


در مورد اون مشکل هم باید بگم که اول به برنامه اضافه اش کردم...
بعد تویه فایل pom.xml اون رو اضافه کردم.
و به صورت اتوماتیک اون کتابخانه رو به قسمت خودش اضافه کرد.
باتشکر

javaphantom
شنبه 09 شهریور 1392, 00:39 صبح
سلام
اون مشکل رو حلش کردم.
الان موقع اجرا این پیام رو میده...


[ERROR] Unknown lifecycle phase "build". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <pl
ugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources,
process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate
-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, inte
gration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. ->
[Help 1]
org.apache.maven.lifecycle.LifecyclePhaseNotFoundE xception: Unknown lifecycle phase "build". You must specify a valid lifecycle phase o
r a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle
phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, g
enerate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test,
prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, pos
t-clean, pre-site, site, post-site, site-deploy.
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateLifecycleMappin gs(DefaultLifecycleExecu
tionPlanCalculator.java:222)
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateMojoExecutions( DefaultLifecycleExecutio
nPlanCalculator.java:193)
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateExecutionPlan(D efaultLifecycleExecution
PlanCalculator.java:112)
at org.apache.maven.lifecycle.internal.DefaultLifecyc leExecutionPlanCalculator.calculateExecutionPlan(D efaultLifecycleExecution
PlanCalculator.java:129)
at org.apache.maven.lifecycle.internal.BuilderCommon. resolveBuildPlan(BuilderCommon.java:92)
at org.apache.maven.lifecycle.internal.LifecycleModul eBuilder.buildProject(LifecycleModuleBuilder.java: 81)
at org.apache.maven.lifecycle.internal.LifecycleModul eBuilder.buildProject(LifecycleModuleBuilder.java: 59)
at org.apache.maven.lifecycle.internal.LifecycleStart er.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStart er.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMav en.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven .java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.jav a:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java :196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:1 41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher. launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher. launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher. mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher. main(Launcher.java:352)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException


در مورد اون مشکل هم باید بگم که اول به برنامه اضافه اش کردم...
بعد تویه فایل pom.xml اون رو اضافه کردم.
و به صورت اتوماتیک اون کتابخانه رو به قسمت خودش اضافه کرد.
باتشکر

این بدبخت خودش داره می گه برای اینکه بدونی چرا این error رو می گیری باید چی کار کنی آدرس داده بهت
https://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException