首先,我看了其他答案,并尝试了一切我能找到的似乎没有工作。
我有以下简单的假设
@Repository
public interface ResultsRepository extends JpaRepository<User, String> {}
我有一个像。。。
@Service
public class Service {
@Autowired
ResultsRepository repo;
....
}
这是从一个 CommandLineRunner
...
@Component
public class OTMRunner implements CommandLineRunner {
private static final Logger logger = LogManager.getLogger(OTMRunner.class);
@Autowired
private Service service;
@Override
public void run(String... args) throws Exception {
...
}
}
还有一个应用程序,我正在手动设置扫描包以确保。。。
// Also tried without scan base package.
@SpringBootApplication(
scanBasePackages = {"my.package.*"}
)
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class)
.web(WebApplicationType.NONE)
.run(args);
}
}
我的pom中有以下内容。。。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
当我使用junit-it时,一切似乎都运行得很好,但是我需要从cmd行运行它,以便向类路径添加ar和属性。。。。
java -cp "JAR_LOCATION;PROPERTIES_LOCATION" my.package.Application PARAM
有几个要点。。。
我不能使用mvn spring-boot:run or java-jar
这不起作用,因为我无法动态添加到类路径。而且我好像也不能通过param。
我也试过了
@EnableJpaRepositories("my.package.repository")
@EntityScan(
basePackages = {"my.package"}
)
但这也没用。有人能看到我遗漏了什么吗?
更新
我可以确认让它“工作”所需的唯一更改是注解掉@repository,这意味着它与spring连接接口的方式有关。
暂无答案!
目前还没有任何答案,快来回答吧!