यह थोड़ी देर के बाद से मैं इस तरह के परेशान मुद्दे से मुलाकात की। मेरे पास एक कक्षा है जो एक ही अनुप्रयोग में किसी अन्य पैकेज में बैठा हुआ एक संदर्भ है, यानी, एक और जार संग्रह फ़ाइल में नहीं है।मेवेन संकलन देता है: प्रतीक नहीं मिल सकता - एक ही ऐप में बैठे वर्ग के लिए
सहित वर्ग है learnintouch-आराम/src/परीक्षण/जावा/com/thalasoft/learnintouch/बाकी/स्वीकृति/AbstractControllerTest.java
शामिल वर्ग है /घर/स्टीफ़न/dev/जावा/परियोजनाओं/learnintouch-rest/src/test/java/com/thalasoft/learnintouch/rest/config/webTestConfiguration.java
ग्रहण के तहत कोई समस्या नहीं है और संपादक में कोई संकलन त्रुटि नहीं है।
लेकिन एक Maven निर्माण चल रहा है एक संकलन त्रुटि देता है:
mvn clean test-compile -Pacceptance
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project learnintouch-rest: Compilation failure: Compilation failure:
[ERROR] /home/stephane/dev/java/projects/learnintouch-rest/src/test/java/com/thalasoft/learnintouch/rest/acceptance/AbstractControllerTest.java:[16,46] cannot find symbol
[ERROR] symbol: class WebTestConfiguration
[ERROR] location: package com.thalasoft.learnintouch.rest.config
[ERROR] /home/stephane/dev/java/projects/learnintouch-rest/src/test/java/com/thalasoft/learnintouch/rest/acceptance/AbstractControllerTest.java:[21,116] cannot find symbol
[ERROR] symbol: class WebTestConfiguration
यहाँ सहित वर्ग के कोड है:
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
@WebAppConfiguration
@ContextConfiguration(classes = {
ApplicationConfiguration.class,
WebSecurityConfig.class,
WebConfiguration.class,
WebTestConfiguration.class
})
public abstract class AbstractControllerTest {
यह सार परीक्षण वर्ग स्वीकृति परीक्षण निर्देशिका के अंतर्गत बैठा है, जो मेवेन कमांड चलाते समय -प्रदर्शन प्रोफ़ाइल के स्पष्ट सक्रियण को अनिवार्य करता है।
डिफ़ॉल्ट प्रोफ़ाइल इस स्वीकृति परीक्षण को नहीं चलाती है, लेकिन केवल कुछ एकीकरण परीक्षण।
ध्यान देने योग्य एक बात यह है कि यह सार वर्ग एकीकरण परीक्षण में उपयोग की जाने वाली एक सार वर्ग की तरह दिखता है।
import com.thalasoft.learnintouch.rest.config.WebTestConfiguration;
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = {ApplicationConfiguration.class},
WebSecurityConfig.class,
WebConfiguration.class,
WebTestConfiguration.class
})
@Transactional
public abstract class AbstractControllerTest {
आप देख सकते हैं, यह एक दूसरे की तरह दिखता है:
यहाँ एकीकरण परीक्षण के वर्ग भी शामिल है।
मैं भी अगर यह मदद कर सकते हैं, pom.xml फ़ाइल सामग्री दे सकते हैं:
<profiles>
<profile>
<id>rest</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<test.source.dir>src/test/java/com/thalasoft/learnintouch/rest</test.source.dir>
</properties>
</profile>
<profile>
<id>acceptance</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<test.source.dir>src/test/java/com/thalasoft/learnintouch/rest/acceptance</test.source.dir>
</properties>
</profile>
</profiles>
आप इस पर किसी भी सुराग है, तो यह बहुत सराहना होगी।
टिप के लिए धन्यवाद। अब मैं प्रत्येक प्रोफाइल में निर्देश को बाहर करने के साथ एक मेवेन-निश्चित फ़ायरफ़ॉक्स-प्लगइन का उपयोग करता हूं। – Stephane
आपका स्वागत है। अगर यह उपयोगी है तो इस उत्तर के लिए मतदान करने के लिए स्वतंत्र महसूस करें :) धन्यवाद – Melou