Create a Node.js Express server with two endpoints: one for uploading JSON files containing an array of objects representing books (title, author, and publication year), and another endpoint for retrieving the uploaded books as a paginated list. The server should store the book data in-memory without using any database.

To create a Node.js Express server with the specified requirements, follow these steps:

1. Install required packages
First, make sure you have Node.js installed on your system. Then, create a new directory for your project and run `npm init` to initialize it as an npm package.

Next, install the necessary dependencies by running:
```
npm install express multer
```

This will install the Express web framework and Multer middleware for handling file uploads.

2. Create the server
Create a new file called `server.js` in your project directory and add the following code:

```javascript
const express = require('express');
const multer = require('multer');

const app = express();
const upload = multer({ dest: 'uploads/' });

let books = [];

app.use(express.json());

// Upload JSON file containing books
app.post('/upload', upload.single('file'), (req, res) => {
  if (!req.file) {
    return res.status(400).send('No file uploaded.');
  }

  try {
    const fileData = require(`./${req.file.path}`);
    if (Array.isArray(fileData)) {
      books = [...books, ...fileData];
      res.send('File uploaded successfully.');
    } else {
      res.status(400).send('Invalid JSON format.');
    }
  } catch (error) {
    res.status(500).send('Error processing file.');
  }
});

// Retrieve paginated list of books
app.get('/books', (req, res) => {
  const page = parseInt(req.query.page) || 1;
  const limit = parseInt(req.query.limit) || 10;

  const startIndex = (page - 1) * limit;
  const endIndex = page * limit;

  const resultBooks = books.slice(startIndex, endIndex);

  res.json({
    page,
    limit,
    totalBooks: books.length,
    books: resultBooks
  });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});
```

This code sets up an Express server with two endpoints:

- `/upload`: Accepts a JSON file containing an array of book objects and stores them in memory.
- `/books`: Returns a paginated list of uploaded books.

3. Run the server
Start your server by running:
```
node server.js
```

Now you can test the endpoints using tools like Postman or curl. To upload a JSON file containing books, send a POST request to `http://localhost:3000/upload` with the file attached as form-data under the key "file". Then, retrieve the paginated list of books by sending a GET request to `http://localhost:3000/books?page=1&limit=10`.